答案 0 :(得分:3)
倒退:
(3)绝对 - 通过学习多种语言,你可以通过数量级增加你的能力。
(2)低级语言会让你成为更好的程序员 - 或者功能语言也会有所帮助。
(1)低级别:使用C.功能,尝试Scheme或Haskell。如果您有需要,C还使您能够将扩展模块编写到Python中。
答案 1 :(得分:1)
你建议学习的第二语言是什么?
必要的东西(即相同的范例)但不同。 Python是动态类型的,具有重要的空白,所以静态类型没有明显的空白:例如Java或C#。
这些也可以成为C的一个很好的垫脚石.C的好处是你真的知道发生了什么,但缺点是你必须控制它。大多数业务问题都不需要这种控制水平。
真的有必要学习第二种编程语言吗?
真的很主观,但是大多数优秀的开发人员都知道很多(考虑一个Web应用程序:服务器上的Python,Ruby,C#,Java;数据库上的SQL和客户端上的JavaScript;然后是标记...)
您可以从其他问题方法中获益,从而创造出更好的解决方案。因此,一旦你涵盖了更多命令式语言,就可以进入其他范式,比如功能性。
答案 2 :(得分:1)
我同意你选择C,这导致了C ++。如果不出意外,学习C会告诉你为什么现在人们倾向于选择具有自动内存管理的语言 - 但它也可能会给你一种“接近金属”编程的感觉(没有汇编语言编程的痛苦),并帮助您了解处理器的实际工作方式。并不总是有用的知识,但很高兴知道。
无论你选择什么,我都推荐一种静态类型的语言--C,C ++,Java,以及一些符合这个要求的函数式编程语言。如果你最初发现C有点困难,Java可能是一个不错的选择。
我会说学习任何新语言都会让你成为更好的程序员。但是,学习C会让你成为更好的Python程序员吗?可能不是;为什么要这样?!
定义“必要”!严格的定义,没有。但是你错过了以不同方式思考事物的经历(即使它只是略有不同的方式)。
答案 3 :(得分:0)
我会坚持使用相同的范例,但是将选项留给另一个范例(函数式编程)。可能C#是个不错的选择,因为