学习多种语言

mtw*_*err 5 programming-languages

一旦你学习了一种语言,它就会变得更容易学习第二种语言并且是否存在一对语言?学习一种语言甚至是一个好主意?

Ale*_*lli 19

学习多种语言是一个很好的主意 - 这不仅可以让你在求职时获得更大的灵活性,而且它可以简化你的思维,你对编程的全部看法.

第二种语言通常是最难的 - 因为你的第一语言已经做了很多工作来塑造你的思考和编程时的操作.最困难的情况是两种语言在表面上相似但有深刻而微妙的差异:由于表面相似性使你蒙羞,因此很难察觉,理解和学习细微的差异.

如果你掌握了彼此相距甚远的两种语言,那么第三种语言会更容易......之后只会变得更容易,更容易.一对很好的语言是一种非常高级的语言(如Ruby或Python)和一种非常低级的语言(尤其是C语言); 然而,像Haskell这样的函数式语言,以及与Java等函数非常相反的函数语言,也应该可以正常工作.

  • 学习非常不同语言的建议本身就很好.许多人只是学习了许多非常相似的语言,甚至一旦他们学会了这些语言之间的所有细微差别,他们就没有真正学会不同的做事方式.(例如,知道许多高级语言的人仍然会被低级别的功能所迷惑,或者面向对象的程序员感觉他们的脚在被迫编写功能代码时被切断了.) (2认同)

Eit*_*tan 5

重复以上所有观点,我强烈支持学习多种语言并熟练掌握至少两种截然不同的语言的想法。事实上,我确实认为从表面上了解五种语言是有益的,如果它激起了你学习更多的好奇心,但你仍然应该“真正”掌握不止一种语言。

以下是您可能需要考虑的一些(非排他性)语言类别。

  • 编译 (C, C++, ...) / 解释 (Perl, Ruby, Python, PHP, ...) / JIT (Java)
  • 高电平/低电平
  • 面向对象 / 程序 / 声明 / 功能
  • 建立/实验
  • 一般/特殊用途/特定领域
  • 强类型/松散类型

了解这些语言及其实现背后的权衡和哲学,必将使您成为更好的程序员。当然,对所有这些进行试验并精通其中一些可能需要时间。但是,即使从第一步开始,这种体验也是有益的,会立即带来满足感和好处,因此您不应该对过多的选择感到绝望。