我想知道Java / C#与C ++相比如何参考金融行业项目进行扩展?
感谢。
答案 0 :(得分:14)
取决于系统的类型。 C ++传统上与财务应用程序相关联,因为人们使用它来编写快速蒙特卡罗模型来定价衍生证券。如果您不是定量分析师(quant),这可能无关紧要。
对于交易大厅系统或其他事务应用程序,C ++肯定会在更小的内存占用和更少的CPU中获得更快的性能和更多的事务量。但是,数据库和网络性能更可能是一个限制因素,Java或C#可以通过使用集群体系结构进行扩展。
Java和C#可以暂停进行垃圾回收,这会导致应用程序的响应时间死亡。对于需要支持可靠实时响应的某些应用程序(例如算法交易平台),这些延迟可能是不可接受的。在这种情况下,C ++允许您更严格地控制此行为,可能更适合。
根据关键字“银行业务”和“C ++”,“。Net”和“Java”对Jobserve进行一些快速搜索合同工作:
假设承包商的招聘广告数量与活跃项目数量(2)之间存在某种相关性(1),可以将其用作粗略指标,表明这些平台在活跃项目中的相对流行程度。
拥有技能的人的相对可用性也会影响到这一点 - 提供的技能很好将意味着更多的工作被填补,技能设置不足将意味着更多的职位空缺时间更长。
银行业和保险业长期缺乏良好的开发人员,并且拥有行业经验,因此许多技能组合都有大量的合约市场。
答案 1 :(得分:3)
显然,不同公司/行业领域的差异很大,但根据我的经验,它大致分解如下:
Java总体上是这三者中最大的 - 这是有道理的,因为它最适合服务器端的通用,跨平台企业应用程序。
Java / C#真正不的唯一区域是非常低延迟的东西,其中GC暂停可能非常有问题。你真的需要C ++(或汇编程序,或其他一些允许你保证实时行为的语言)
偶尔还会出现一些其他语言(例如Haskell的定价模型),但这些语言往往属于更多利基/专业领域。
我还看到了一些较新的JVM语言(例如Scala,Clojure)的一些实验。目前仍然规模很小,但如果你正在寻找一个发展你的技能的地方,我认为这对未来是一个相当不错的选择,因为它们结合了Java平台的优势(银行有大量的投资) )具有更现代/更高效的语言。
答案 2 :(得分:2)
这实际上取决于应用程序的用途。许多应用程序现在都是基于Web的,而C ++也不适合该环境。
我同意另一个响应者的意见,但我想补充一点,因为编码的简易性和处理数据的能力,其他语言对于超出这些范围的数量越来越受欢迎:特别是R,Matlab和Python。