好的,所以我知道编程语言的基础知识,我研究过python并且非常喜欢它。我正在研究python的中间部分,我已经抓住了这些概念。我正在处理一个项目,同时解决算法使用的计算机问题。我已经了解到python有局限性,并希望通过学习另一种编程语言来弥补这些限制。
您建议使用哪种编程语言与python协同工作?我想要一些能够在使用python时能够给我实际经验的东西以及与之相得益彰的语言。像“尝试铁蟒或jython等等等等”的答案将无济于事,如果你可以给我它的利弊,它的成熟就会出现问题,那对我来说已经足够了......非常感谢
编辑 - 对不起,我想我需要在此添加一些细节。我将主要用于web编程或游戏开发。因此,如果您认为这种语言A可以帮助我在python中进行Web编程,那就是它。
答案 0 :(得分:1)
IronPython或Jython有什么问题?您可以学习如何使用Java或.Net编写库来缓解Python的一些速度问题。学习编写自己的Python库肯定会帮助您更好地理解和克服您提到的限制。
答案 1 :(得分:1)
对我而言,在Python之后学习的明显选择是C. C是一种较低级别的语言,因此您处理的是比对象更多的元素计算机概念,但它将为您提供编写Python扩展所需的理解。
这样,用Python编写程序很容易,然后将部件迁移到C以提高速度 - 可以通过writing an extension或使用像Cython这样的桥接语言。
答案 2 :(得分:1)
如果遇到性能问题(这可能是游戏编程中的一个问题),C / C ++程序可以很好地集成到Python脚本中,反之亦然:
但我还没有看到自己需要这样做。
答案 3 :(得分:1)
当您对Python非常熟悉时,Common Lisp和Scheme是学习函数式编程的好语言。我最近一直在学习CLisp,并且有很多“ahah!”让这很有趣的时刻。
IronPython和Jython是学习进入专业领域的好工具 - 目前在C#和Java中有吨的开发 - 它们几乎是专业人士的热门语言世界。 IronPython集成了所有.NET语言,而Jython当然与Java集成。所以你的选择应该反映你在.NET公司工作的愿望。 IronPython和Jython都是成熟的语言。
其他人已经提到过C / C ++,如果你不熟悉它们是很好的选择,并且如果在TIOBE索引上的2010年7月的编程寿命和Top 3排名约为30 - 40年一个足够强大的理由来学习它们......你可能还有其他问题;)
如果你正在寻找那些尚未真正经过硬核测试的新语言,你可以使用Ruby(这似乎是新的性感)和Google Go等语言。
Perl有点像Ruby,因为Python和Ruby / Perl之间存在很大的重叠,以及它们所涵盖的领域。
如果我要选择另一种语言,已经知道Python,我会使用编译语言 - 可能更低级别,如C \ C ++。我想这真的可以决定你想做什么。如果你想为一家.NET公司工作(这可能会或可能不会暗示你真的喜欢微软产品),那么IronPython和.NET语言(C#,VB)就是你的选择。 OTOH,如果你想为谷歌这样的公司工作(恰好使用a certain individual),他们会广泛使用Java和Python,所以学习Jython可能会更好。
我想你需要问自己的问题是,“你我今天要去 明天会怎么样?”
答案 4 :(得分:0)
Haskell或Ocaml,或者也许是Lisp方言,例如Common Lisp或Scheme。