企业中的 Python:优点和缺点
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/1358084/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Python in the enterprise: Pros and cons
提问by dartdog
I have been exploring and developing an application in Python for mission critical work in the commercial banking arena.
我一直在探索和开发 Python 应用程序,用于商业银行领域的关键任务工作。
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.
看过 Python 网站,但现在我希望这群人能告诉我更多。
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.
到目前为止,我还没有下一阶段需要的开发银行合作伙伴,所以我正在收集证据和宣传信息。感谢所有帮助和评论。
回答by Alex Martelli
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.
Banca d'Italia(大致相当于意大利的美联储,除了自引入欧元以来,所有使用欧元作为货币的国家,当然包括意大利,都将货币政策“外包”给欧洲中央银行)使用 Python ,对它非常满意,并计划扩大其使用范围。我所指的演讲是用意大利语写的,但如果你四处搜索作者,我想你可以找到他们用英语写的类似论文。
Sungard's FrontArena, a widespread "next generation cross-asset trading" system, uses Python (e.g., see here).
Sungard的FrontArena是一个广泛使用的“下一代跨资产交易”系统,它使用 Python(例如,请参见此处)。
This postgives a good summary of Python use in banking (as of a couple years ago) with focus on the City of London.
这篇文章很好地总结了 Python 在银行业中的使用(截至几年前),重点是伦敦金融城。
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!-)
考虑到银行喜欢“玩弄他们的背心”,我认为令人惊讶的是,关于在银行业中使用 Python 的信息如此之多——如果这几个案例“泄漏”,想象一下有多少必须保持保密!-)
回答by Brian Lyttle
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.
当然,您可以使用 Python 实现关键任务软件(无论您的情况如何)。归根结底,与是否使用 Python 编写相比,应用程序的成功取决于其功能。一些所有的 .NET 公司甚至会引入 Python 应用程序,前提是有一种方法可以从 .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.
我不会将您的应用程序作为 Python 应用程序进行营销。这会给你带来麻烦,因为你会遇到路障。这通常发生在您让业务客户满意时,他对他们的 IT 人员说“哇,我们不能支持”,而没有对业务的成本/收益进行全面分析。这是在关键任务系统中使用 Python 的引用的地方。尽量避开这个区域。
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.
如果您在某些约束下构建应用程序,则使用 Python 始终可以针对流行平台。IronPython 在 .NET 上运行,而 Jython 在 Java 上运行。能够返回有关如何在这些平台上运行您的应用程序的信息可能会有所帮助。
回答by oxbow_lakes
There is a rather famous application heavily used in both banks and hedge funds called FrontArena. I believe that this is written in Python.
有一个在银行和对冲基金中大量使用的著名应用程序,称为FrontArena。我相信这是用 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.
此外,numpy
数字处理库和简洁、清晰的语法意味着 Python 非常受金融部门的定量分析师(或quants)欢迎。
回答by Jeremy S
CCP Games uses a version called Stackless Pythonin 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.
CCP Games在他们的 MMO 中为客户端和服务器使用了一个叫做Stackless Python的版本。游戏的很大一部分是基于市场/交易模拟,每天准确跟踪和报告数千种商品的数百万次市场交易。这听起来可能很奇怪,但考虑到我的游戏玩家们是多么善变和彻头彻尾的抱怨,在这种类型的高可用性环境中使用 Python 的决定应该很重要。
回答by ConcernedOfTunbridgeWells
Sungard Front Arenamakes 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.
Sungard Front Arena在其系统架构中广泛使用 Python。这是一个交易大厅系统,在其空间中占有相当大的市场份额。而且,是的,它被投资银行广泛使用。
回答by S.Lott
There's always ResolverOne.
总是有ResolverOne。
回答by Mark Rushakoff
It's not exactly extensive proof, but this blogdescribes a bit of an overview of how Google is using Python.
这不是完全广泛的证据,但这篇博客描述了谷歌如何使用 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.
除了谷歌如何使用 Python 的链接之外,显然还有更多资源,但如果谷歌,这家几乎对整个互联网进行索引的公司,可以使用 Python 作为核心语言,那么 Python 肯定会满足银行的标准。
回答by Ol_dirty
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.
我知道话题很老,但无论如何。如果我们谈论关键任务。Python 广泛用于提供硬件加密解决方案的 Thales 软件中。例如,在 PayShield 应用程序中,我认为这确实是关键任务。尽管 Java 在那里的使用比 Python 多。
回答by Dustin Getz
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.
我的雇主(我们很大)做了一项研究,以解决关于标准化的“平台”的内部冲突。平台根据技术深度、业务一致性和公司生存能力进行评判。获胜者在技术上处于中间位置,具有出色的业务一致性和公司生存能力。客户不关心技术位;客户希望确保在 4 年内不会出现重大战略障碍,就像支持公司倒闭一样。
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.
我在此线程中单击的所有链接都不是企业系统,而是应用程序。就我所见,除了Eve Online之外,没有一家公司有能力用 Python 编写任务关键型企业系统,这是一款游戏——停机不会让任何人被杀或被起诉。
回答by Dustin Getz
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.
Python 没有像 MSFT 或 Redhat 等那样多的资金支持它。如果 Guido 被公共汽车撞到,Python 就有麻烦了。
I <3 python for a lot of things, but a financial transaction system probably wants a real, trusted, stable company backing it.
我在很多事情上都<3 python,但金融交易系统可能需要一个真实的、值得信赖的、稳定的公司来支持它。
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.
编辑:这不是火焰诱饵;这是从观察一位同事推动由一家小公司支持的平台,以及由此产生的“商业战略”噩梦中学到的一个重要教训,该噩梦以他的项目被放弃,转而支持使用一个更糟糕的项目和大量资金的人。项目成功不仅仅是技术位。