Python in the enterprise: Pros and cons [closed]

2019-03-08 06:26发布

问题:

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.

回答1:

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!-)



回答2:

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.



回答3:

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.



回答4:

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.



回答5:

There's always ResolverOne.



回答6:

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.



回答7:

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.



回答8:

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.



回答9:

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.



回答10:

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.