Python in the enterprise: Pros and cons [closed]
Asked Answered
I

10

22

I have been exploring and developing an application in Python for mission critical work in the commercial banking arena.

Banks are way conservative in selecting new applications.

I need real proof of stability and others using.

Have looked at the Python site but now I'm hoping this crowd can tell me more.

So far I don't have a development bank partner which I will need next stage, so I'm gathering proof and pitch info. All help and comments appreciated.

Ideography answered 31/8, 2009 at 15:47 Comment(10)
Have you read any of these questions? stackoverflow.com/search?q=%5Bpython%5D+enterpriseRhineland
When you looked at python.org/about/success how did it fall short of answering your questions?Rhineland
S.Lott, I'm not going to click every link on that success page, but I don't see a single mission critical enterprise system, just a whole bunch of applications.Celebrity
should be community wikiFlight
@Dustin Getz: I'm unclear on the difference between "enterprise system" and "application". Can you provide a clear definition or a reference to a clear definition?Rhineland
Yes I have looked at most if not all the prior posts, hence my question. It is my sense that this set of questions issues needs to be as fully explored as possible and that Python is on the cusp of full acceptability in the enterprise. I'm betting on it and looking for re-enforcements. As much as I can find. Thanks for the help.Ideography
haven't you read mythical man month? it's in the first chapter. I seem to have misplaced my copy or I'd quote it.Celebrity
I opened a new question to address this: #1374614Celebrity
It's good enough for NASA but not good enough for a bank? python.org/about/success/usaSoerabaja
What scared me off thinking python (dynamical type language) isn't meant for this is this simple example: amountInCents = amount * 100 if amount is a string, e.g. "1", then amountInCents = "1111111....11"Maymaya
B
34

Banca d'Italia (roughly the Italian equivalent of the Fed, except that, since the introduction of the Euro, all countries using euros as their currency, including of course Italy, have "outsourced" monetary policy to the European Central Bank) uses Python, is very happy with it, and plans to extend its use. The talk I'm pointing to is in Italian, but if you search around for the authors I think you can find similar papers of theirs in English.

Sungard's FrontArena, a widespread "next generation cross-asset trading" system, uses Python (e.g., see here).

This post gives a good summary of Python use in banking (as of a couple years ago) with focus on the City of London.

Considering how banks like to "play them close to their vest" I think it's amazing that there's as much information as this about the use of Python in banking -- if these few cases "leak", just imagine how many must be staying under wraps!-)

Blacklist answered 31/8, 2009 at 16:58 Comment(6)
Thank you for the input, it is along the line of what I'm searching for.There is an on-line travel company on the Python success Page. it has transaction processing with interfaces to mainframes, but from 2004. Are there are more interesting and substantial stories out there? Some of the downrated comments below reflect the poor thinking out there and it is those sorts of issues, among others that I hope to put to rest. Mission critical, transaction processing, preferably with interfaces to mainframes is what I'm tying to find, various forms of on-line banking systems.. If not why not?Ideography
"Why not"? There's not any plus to a company from letting its employees spend time and energy explaining how they use Python internally, so the right question is, why does ANY such spending happens AT ALL?! It's a miracle of geek enthusiasm!-) With no marketing or co-marketing money behind it, it's really totally unreasonable to expect even more. If there were opportunities for e.g. the Develer folks in Italy (Logilab in France, etc -- such firms are all over), I could put you in touch with them... but they have no spare cycles to do free marketing w/no revenue prospects, OF COURSE!-)Blacklist
There is a plus, and python is gaining traction for small projects/applications in my extremely large engineering firm. There is tons and tons of FOSS integrated into our large programs--management understands and embraces FOSS. But what the large programs ($billions) aren't doing is making FOSS the very core of their architecture--it simply isn't well supported enough. The notable exception debated below is Linux, but it's heavily supported by lots of companies. Unfortunately, python isn't, yet. Why do you think google hired you and Guido and the other python rockstars?Celebrity
@Dustin, because we met Google's hiring bar for engineers?-) Don't think our interviews were any easier than those of the Java rockstars (Josh Block &c), the C++ ones (Matt Austern &c), the Unix ones (Thompson, Pike, Presotto, ...), the Internet ones (Vint Cerf &c), and so forth...;-)Blacklist
Dustin and Alex both of you clearly understand the issues here. Most FOSS efforts from the internet itself (I remember arpanet) And I was a supplier (Honeywell) to Bell Labs when they were trying to get Unix off the ground. In these and other cases various landmarks occurred that began to take the developments into the commercial acceptance realm. Python is on the cusp but still it is mostly early adopters. What is needed? Just time?Ideography
I think there's a market for companies to build enterprise support around python the same way companies build enterprise support around linux. if/when that happens Python usage in major systems will tremendously deepen. Hopefully, Microsoft won't beat them to the punch with whatever their next killer environment is.Celebrity
P
6

Of course you can implement mission-critical software (whatever that is in your case) using Python. At the end of the day the success of your application is going to weigh more on its capabilities than whether it is written in Python. Some all .NET companies will even bring in Python applications provided that there is a way to talk to the system from .NET.

I would not market your application as being a Python application. This is going to cause you trouble down the road because you will run into roadblocks. This often happens when you satisfy a business customer and he speaks to their IT guy who says "whoa we can't support that" without a full analysis of the cost/benefit to the business. This is the place that references to use of Python in mission-critical systems will arise. Try to avoid this area.

With Python you can always target the popular platforms if you build your application under certain constraints. IronPython runs on .NET and Jython runs on Java. Being able to fire back with info on how to run your application on these platforms might be helpful.

Prud answered 31/8, 2009 at 18:27 Comment(3)
Actually more correctly Python runs just fine on all the platforms the real reason for the ports sort of eludes me, seems interesting but largely irrelevant. Regular Python plays well with both .net and Java.Ideography
It runs on many operating systems but you have a switch between the CPython runtime and the Java JVM which can be costly in terms of flexibility and performance. In addition, supporting the JVM is a great way to get accepted in an enterprise (banking) scenario. There are lots of opportunity for pure interop with Java libraries which is just not as nice if you have the go between the JVM and CPython etc.Prud
In the Ruby world there is JRuby. This exists primarily to get Ruby accepted in enterprise scenarios. Martin Fowler has blogged a bit about this and the work of ThoughtWorks. They are working with enterprises and JRuby helps with access.Prud
N
5

There is a rather famous application heavily used in both banks and hedge funds called FrontArena. I believe that this is written in Python.

Additionally the numpy numeric processing libraries and concise, clear syntax means that Python is very popular with Quantitative Analysts (or quants) within the financial sector.

Narcisanarcissism answered 31/8, 2009 at 16:22 Comment(2)
FrontArena is written with python. See Python job board at python.org/community/jobs/…Tankersley
The core of Front is written in C++. Python's used (extensively) to extend it. Lots of standard functionality is implemented in Python.Molecular
A
3

CCP Games uses a version called Stackless Python in their MMO, for both the client and server. A large part of the game is based on a market/trade simulation, and accurately tracks and reports millions of market transactions on thousands of items daily. It may sound odd, but considering how fickle and downright whiny my fellow gamers can be, the decision to use Python in that type of high availability environment should count for something.

Alit answered 31/8, 2009 at 18:24 Comment(0)
R
2

There's always ResolverOne.

Rhineland answered 31/8, 2009 at 17:6 Comment(3)
looks like a neat tool interesting but not particularly on point!Ideography
It's a company with a product based on Python. Having a product offering based on Python seems to be mission-critical to me.Rhineland
+1 from me. It is a useful answer. Check out the video with the owner of that company on MSDN Channel 9.Prud
A
2

Sungard Front Arena makes extensive use of Python in its system architecture. This is a trading floor system with quite a substantial market share in its space. And, yes, it is used extensively by investment banks.

Apus answered 3/9, 2009 at 21:20 Comment(0)
A
1

It's not exactly extensive proof, but this blog describes a bit of an overview of how Google is using Python.

I might argue that Google is more "mission-critical" than (almost?) any bank out there.

There's obviously plenty more resources besides that link on how Google is using Python, but if Google, the company indexing virtually the entire internet, can use Python as a core language, surely Python would meet a bank's criteria.

Accouter answered 31/8, 2009 at 16:13 Comment(7)
"I might argue that Google is more "mission-critical" than (almost?) any bank out there." That sounds like a pretty tough argument to make.Considerable
Maybe "Google's use of Python is more mission-critical than any bank's"? Or perhaps -- because Google has a monopoly-like position, the whole world depends on search more than the flow of capital?Rhineland
Nothing particularly bad happens if one Google search returns one incorrect link. However, in a financial world, even one incorrect result can have heavy consequences.Telescopy
@MaxVT: Good argument against the 'Google is more "mission-critical" as a company' interpretation. If that's what @Mark Rushakoff really meant.Rhineland
I get an error page from Google somewhat regularly, and I've heard many stories of Google accounts getting dropped without notice. I've never gotten an error from a banking computer, or heard of a bank account simply disappearing. Google might have better usability and scalability, but I'm not sure about reliability.Flavin
google doesn't get sued if they screw up.Celebrity
Yes they do. Google handle this type of data within AdWords. Think about the fraud and other implications. What about Google Checkout too.Prud
L
0

i know topic is rather old, but anyway. if we talk about mission critical. Python is widly used in Thales software provided with is hardware encryption solutions. and in PayShield application for example, which i believe really mission critical. Although Java is being used there more than Python.

Lipoid answered 27/10, 2011 at 8:37 Comment(1)
Whole bunch of utilities for nShield's product line are written in python. Unfortunatelly i don't have links.Lipoid
C
-3

I'll try again.

My employer (we're huge) did a study to resolve an internal conflict over what 'platform' to standardize to. Platforms were judged on technical depth, business alignment, and company viability. The one that won was middle of the road technically and had superior business alignment and company viability. The customers don't care about the technical bits; the customer wants to make sure there will be no major strategic roadblocks in 4 years like if the supporting company folded.

All of the links I've clicked on in this thread are not enterprise systems, they're applications. As far as I have seen, no company has the balls to write a mission critical enterprise system in python, except for Eve Online, which is a game--downtime isn't going to get anyone killed or sued.

Celebrity answered 31/8, 2009 at 18:8 Comment(7)
yeah, that's better. now, what is has to do with python?Flight
It makes people feel nice and fuzzy to get the right business alignment and company visibility, but sometimes it is right to go with the technical attributes. Sometimes, not always. Its also bad to base your decisions on the decisions of others in separate contexts.Prud
"superior business alignment and company viability"? Like Compaq? SCO? Data General? Sperry Rand? Burroughs? Univac? NCR?Rhineland
dude, that is quoted directly from a director I have deep respect for. I looked up the charts before I made this post.Celebrity
@Dustin Getz: I'm sure it's an accurate quote. I'm sure they meant well in looking at whatever criteria they thought was important at the time. I'm suggesting that "stability" doesn't seem to count for much in the long run. With 20/20 hindsight, it appears that using "stability" of a single vendor to choose a platform may not have been a good reason for choosing a platform. I suggest that "single vendor" is perhaps a bad reason for choosing a platform.Rhineland
irrelevant unless you manage to convince your customer, and they probably don't want to spend the money to be convinced. BryanLi said it well above: "This often happens when you satisfy a business customer and he speaks to their IT guy who says "whoa we can't support that" without a full analysis of the cost/benefit to the business"Celebrity
I opened a new question to address this: #1374614Celebrity
C
-4

Python doesn't have anywhere close to as much money backing it as MSFT or Redhat etc. If Guido gets hit by a bus, Python is in trouble.

I <3 python for a lot of things, but a financial transaction system probably wants a real, trusted, stable company backing it.

Edit: this isn't flame bait; this is a major lesson learned from watching a colleague push a platform backed by a small company, and the resulting 'business-strategic' nightmare that ended with his project getting dropped in favor of someone using a far crappier project with lots of money. There's more to project success than the technical bit.

Celebrity answered 31/8, 2009 at 17:13 Comment(6)
A trusted company like Compaq? or Digital Equipment Corporation? Or Sun Microsystems? They were all industry-leading, rock solid investments in their day. Now, not so much.Rhineland
Well it is pretty clear that there is a much larger community and the Guido hit by bus is not an issue as I'm sure Alex Martelli and others could elaborate on.Ideography
@dartdog, Guido being hit by anything would be a tragedy, to me personally (as he's a friend), to his family, and to the world in general. Python of course would go on (as did Perl when Larry Wall had cancer, fortunately currently in remission), probably switching to a lead-committee approach similar to what Perl has now and BSD and Apache had for a long time. Linux is in a similar situation wrt Thorvalds -- the lead committee has been driving for a long time, albeit on delegation from Linus -- and that has NOT stopped banks from adopting it, esp. once IBM started marketing it!_)Blacklist
"esp. once IBM started marketing it!" this is basically my entire point. i am skeptical that banks adopted linux for mission critical systems prior to its commercial backing.Celebrity
I opened a new question to address this: #1374614Celebrity
@Alex I never thought about that. Guido has kept Python from ever becoming ugly. Does Python have a PEP or other strong plan in place in case something were to happen to him?Comfrey

© 2022 - 2024 — McMap. All rights reserved.