C++和Python哪个更适合复杂问题解决(如图)?
我正在尝试解决一些问题和算法。我会C++,但有个朋友告诉我,用Python会更好。因为用Python开发会快得多,花在编程细节上的时间也会少,这些细节其实对解决问题没有什么帮助。
编辑 2: 我打算使用Google代码库中的python-graph库,如果你们用过,请提供一些示例代码。
编辑 1: 更快 - 编写解决方案所需的时间更少,工作量也更少。
谢谢大家的帮助!
13 个回答
8
这有点主观,不过我会选择Python,因为它有很多优秀的库,而且能帮你省去很多在使用C++时需要考虑的底层细节。
9
与其关注编程语言本身,不如关注你可以使用的库。
当已经有很多现成的图形库可用时,你就不需要自己去写一个。无论是在C++还是在Python中,现成的库已经多得数不胜数。[Stack Overflow上有一份Python图形库的推荐列表,你可以去看看。我没有找到C++的类似问题,你可以考虑自己发起一个。] 除非你是在做学术研究或者探索一些全新的图算法,否则你应该先浏览一下现有的库,看看有没有已经实现你感兴趣的算法。
使用库可以让你更好地利用Python这种高级语言的优势,因为你并不是在直接使用原始的C++,而是在使用一个C++库。虽然Python的核心内容很少,学习起来相对简单,但还是需要时间。如果你选择使用Python,除了学习库的时间外,还要考虑学习语言本身的时间,所以在做决定时要把这一点考虑进去。
因此,既然你已经会C++,你可能会发现用C++开发会更快,因为你只需要花时间学习库,而不是同时学习一个新的(虽然容易学)语言和一个库。
23
我觉得你应该选择Python,因为它有以下优点:
- 你可以专注于算法本身,而不需要担心其他细节,比如内存管理。
- 用更少的代码做更多的事情。
- 它的语法几乎就像是在写伪代码,非常简单。
- 内置对列表、元组、列表推导等的支持非常好。
更具体来说……
- 如果你说的
更好
是指开发速度,那么选择Python。 - 如果你说的
更好
是指执行速度,那么选择C++。