程序员学习新语言的最佳方法是什么?

时间:2010-08-04 13:07:06

标签: language-agnostic programming-languages

我知道这是非常主观的,但这是我一直在努力的事情。我甚至对尝试学习一门新语言犹豫不决,因为我将在下面概述。如果这个关闭了,我想我会笑着承受它,但这是我想要解决的问题。

当我开始学习一门新语言时,似乎大多数学习资源都是针对新程序员的。然后,我最终阅读“详细”教程或其他东西,并感到无聊。我倾向于觉得我浪费了很多时间来研究变量如何工作,数据类型如何工作以及其他基本的东西。这些都是重要的事情,但我可以处理技术术语,不需要像初学者那样为我分解的东西。

我也觉得如果我只是潜入一个项目,我会学习坏习惯,而不是从学习一门新语言中获得所有好处。我仍然会使用我已经知道的范例和黑客攻击新语言。

所以,我的问题是:你发现哪种策略对于充分利用新语言最有帮助?您学到了哪些技巧?

6 个答案:

答案 0 :(得分:3)

有一个名为Dive into Python的Python教程,它完全解决了您所描述的问题 - 向已经了解编程基础并直接深入代码而不是长篇介绍的人解释Python特定语法。

你应该为你想要学习的语言寻找类似的书。

答案 1 :(得分:3)

编写代码。如果您在使用该语言方面有一点经验,那么您将从书中获得更多。

您可以从另一种语言移植代码开始,这样您就可以专注于新语言的语法而不是算法。你的第一个端口可能太直接,但没关系。然后,在您了解了有关新语言的更多信息后,请返回并再次移植代码,这次使用新语言的习语。

答案 2 :(得分:2)

对于简单的语言,我通过一个通用教程,然后我开始用它编写一些应用程序。如果我觉得我需要使用特定的库或技术,我会为那个代码做一个教程。通过实际解决问题,我学到了更多。我用红宝石做了这个。

用一种更难的语言,我可能会买一本书,花6个月的时间浏览,阅读邮件列表等,之后可能会尝试用这种语言维护一些开源软件,然后再从头开始应用。这就是我在用Haskell做的事情。

答案 3 :(得分:1)

我读了语言规范。有什么我需要知道的,没有什么是超级的。之后,我采用一个示例程序并开始修改和扩展它,直到我开始熟悉新语言。然后我开始用它编写我自己的程序。

答案 4 :(得分:1)

收听此播客:
http://www.se-radio.net/2009/11/episode-148-software-archaeology-with-dave-thomas/

戴夫托马斯谈论代码阅读和考古学。例如,他通过Ruby编译器获取Ruby开发人员,通过阅读源代码,他们学习了很多有关该语言的重要细节。

这可能不是你的第一步,但它应该是你整体学习方法的一部分。

答案 5 :(得分:0)

实现语言的标准库。它们几乎总是写在被认为是该语言的最佳实践的地方,并且它会迅速让您快速了解什么是好的以及该语言的高级功能。