我想知道在金融行业项目中,与C++相比,Java/C#是如何扩展的?
谢谢。
发布于 2009-09-03 06:15:27
取决于系统的类型。C++传统上与金融应用程序联系在一起,因为人们使用它来编写快速蒙特卡洛模型,以便为衍生证券定价。如果你不是一个量化分析师,这可能是无关紧要的。
对于交易大厅系统或其他事务应用程序,C++肯定会在更小的内存占用和更少的CPU中获得更快的性能和更多的交易量。然而,数据库和网络性能更可能是一个限制因素,Java或C#可以通过使用集群架构进行扩展。
Java和C#可能会暂停垃圾回收,这会导致应用程序的响应时间出现死区。对于一些需要支持可靠实时响应的应用程序(例如算法交易平台)来说,这些延迟可能是不可接受的。在这种情况下,C++允许您更严格地控制此行为,因此可能更可取。
根据关键字“银行”和“C++”、“.Net”和“Java”,在jobs上快速搜索合同工作:
“C++和银行”的
假设承包商的招聘广告数量和活动项目的数量之间存在某种相关性(2),可以将此作为一个粗略的度量标准,以表明这些平台在活动项目中的相对流行度。
发布于 2012-05-20 10:40:49
显然,它在不同的公司/行业领域有很大的不同,但根据我的经验,它大致分为以下几个部分:
适用于大型企业系统、后端交易平台等的
Java总体上是这三个中最大的-这是有意义的,因为它最适合于服务器端的通用、跨平台的企业应用程序。
Java/C#唯一不适合的地方是非常低的延迟,在那里GC暂停可能是非常有问题的。在这里你真的需要C++ (或者汇编语言,或者其他一些可以保证实时行为的语言)。
偶尔也会有一些其他语言加入进来(例如,Haskell用于定价模型),但这些语言往往是在更多的利基/专家领域。
我还看到一些新的JVM语言(例如Scala、Clojure)的实验。目前规模仍然很小,但如果您正在寻找一个地方来发展您的技能,我认为这是一个很好的未来的选择,因为它们结合了Java平台的优势(银行在这个平台上有大量的投资)和更现代/更高效的语言。
发布于 2009-09-10 06:14:43
这真的取决于应用程序的用途。现在许多应用程序都是基于web的,而C++并不适合这种环境。
我同意另一个响应者的观点,但我要补充的是,除了这些语言之外,其他语言正变得越来越流行,因为它们易于编码,并且能够处理数据:特别是R、Matlab和Python。
https://stackoverflow.com/questions/1371634
复制相似问题