QuickFix C# 或 Python

2 投票
2 回答
1691 浏览
提问于 2025-04-16 18:49

我们准备实现一个小型的自动化证券交易程序。这个交易程序将基于优秀的quickfix FIX引擎来构建。

经过认真考虑,我们把选择缩小到用C#或Python来实现。请分别说明这两种语言在以下方面的优缺点:

  • 性能(我对Python使用的全局解释器锁感到担忧,因为这可能影响线程的并发性)
  • 生产力
  • 可扩展性(我们可能需要将这个交易程序扩展到一个完整的平台)

编辑 我重新表述了这个问题,使其不再是单纯的“C#与Python”的对比(我觉得这没有意义——这两种语言各有优点),我只是想在做决定之前列出一个比较表。

2 个回答

0

关于“性能”和“可扩展性”这两个方面,我建议使用C#(不过性能的好坏很大程度上还是看你的算法)。至于生产力,这个就比较主观了,但现在C#有很多很酷的功能,比如lambda表达式、匿名方法、类等等,这些都让编程变得更高效。

2

我喜欢这两种语言,觉得它们都是不错的选择。GIL可能是最重要的区别,但我不确定这对你来说是否是个问题。GIL只影响在纯Python中运行的代码。我猜你的工具可能更依赖于输入输出(I/O),而不是单纯的计算。如果你的I/O库正确处理了GIL,它们可以顺利地执行并发代码。即使是进行计算,你还有numpy这个库可以用。

我的选择会根据你现有的知识来决定。如果你身边有经验丰富的C#开发者,我会选择C#。如果你是完全从零开始,并且两者的选择几乎一样,那么我会选择Python。它更容易学习,而且是免费的,在很多情况下效率更高。

顺便提一下:你也可以看看IronPython。;-)

撰写回答