来自python,应该学习的第二种编程语言是什么?

时间:2010-09-01 08:18:21

标签: programming-languages

我正在考虑学习像C这样的低级语言,但在此之前,我想要了解一些关于这个问题的文章:

  1. 你建议学习的第二语言是什么?
  2. 学习低级语言会让我成为更好的程序员吗?
  3. 真的有必要学习第二种编程语言吗?

4 个答案:

答案 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)

  1. 我同意你选择C,这导致了C ++。如果不出意外,学习C会告诉你为什么现在人们倾向于选择具有自动内存管理的语言 - 但它也可能会给你一种“接近金属”编程的感觉(没有汇编语言编程的痛苦),并帮助您了解处理器的实际工作方式。并不总是有用的知识,但很高兴知道。

    无论你选择什么,我都推荐一种静态类型的语言--C,C ++,Java,以及一些符合这个要求的函数式编程语言。如果你最初发现C有点困难,Java可能是一个不错的选择。

  2. 我会说学习任何新语言都会让你成为更好的程序员。但是,学习C会让你成为更好的Python程序员吗?可能不是;为什么要这样?!

  3. 定义“必要”!严格的定义,没有。但是你错过了以不同方式思考事物的经历(即使它只是略有不同的方式)。

答案 3 :(得分:0)

我会坚持使用相同的范例,但是将选项留给另一个范例(函数式编程)。可能C#是个不错的选择,因为

  • 如果您决定稍后学习C / C ++,它会变得更容易。
  • 如果您决定稍后学习函数式编程,可以切换到F#但仍然使用用C#编写的现有代码,因为您保留在.NET框架中。
  • 不知道Python是一种非常快速的语言。您应该考虑学习一种允许更好的计算性能的语言。但是好旧的ANSI C可能太低了,尽管你可以用它编写非常快的程序。对于即时编译语言,C#具有良好的性能,如果您以后需要更多性能,您仍然可以将您的知识扩展到F#或C.
  • 虽然我不私下使用Microsoft Windows并经常宣传Linux和开源,但如果您打算通过编程赚钱,提供一些有关Microsoft技术的知识可能是个好主意。