Programming languages 快速学习新语言的资源?

Programming languages 快速学习新语言的资源?,programming-languages,comparison,Programming Languages,Comparison,这个标题似乎有点自相矛盾,我承认你不可能很快学会一门语言。然而,一个已经掌握了一些语言和不同风格(函数式、面向对象、命令式等)的经验丰富的程序员通常希望快速入门。我见过一些网站以“只显示语法等价性”的形式进行有效的“翻译”。我现在记不起这些网站了,但对于相关语言(例如Perl/PHP),这是很常见的 有没有涵盖更多语言的更好资源?是否有涵盖习语和语法的资源?我认为这对于在不熟悉该语言的现有代码基础上进行少量工作非常有用。我们知道,查看现有代码并不总是一个好的质量指标。同样,对于“边做边学”的周末

这个标题似乎有点自相矛盾,我承认你不可能很快学会一门语言。然而,一个已经掌握了一些语言和不同风格(函数式、面向对象、命令式等)的经验丰富的程序员通常希望快速入门。我见过一些网站以“只显示语法等价性”的形式进行有效的“翻译”。我现在记不起这些网站了,但对于相关语言(例如Perl/PHP),这是很常见的

有没有涵盖更多语言的更好资源?是否有涵盖习语和语法的资源?我认为这对于在不熟悉该语言的现有代码基础上进行少量工作非常有用。我们知道,查看现有代码并不总是一个好的质量指标。同样,对于“边做边学”的周末项目,我总是有一种冲动,那就是从一开始就编写合理的惯用、干净的代码。这样的资源还可以链接到那些喜欢通过阅读学习的人已知的不同规模的好例子项目。当对开发环境的访问可能受到限制时,阅读编写良好的中等大小的代码库也可能更加实用

我认为可以在不同的网站上找到提供某些功能的个别语言的教程和摘要,但我希望有一个好的、集中的、比较好的地方,让忙碌的程序员可以求助。

过去我喜欢的是“边做边学”。所以,我知道一点点C++和很多c*.net,但是我必须在Python中编写一个FTP工具。 因此,我坐了一个小时,通过一个教程了解语法差异,然后开发表单本身并查看生成的代码。然后我搜索一个开源的Python FTP客户端,并获得一些代码(不是复制和粘贴,而是自己编写以查看、感受和记住代码!)

几个小时后我就明白了。
所以:混合是最好的。一本书,一段好的代码,愿意学习的人和一个免费的晚上喝很多咖啡。

尽管听起来有点俗气,我还是会从该语言的网站教程和/或FAQ开始,然后在这里问一些更具体的问题。我集中学习编程知识的地方也是如此


我记得我学习Perl的时候。我被要求在工作中修改一些Perl代码,我以前从未见过这种语言。然而,我有使用其他几种语言的经验,因此不难理解一个窗口中在线Perl文档的语法和另一个窗口中并排的代码。我不知道仅仅阅读现有代码必然是最好的学习方式。在我的例子中,我不知道Perl,但我可以告诉大家,最初编写代码的人也不知道Perl。我不确定我是否能够区分好的Perl和真正令人困惑的Perl。如果当时能在这里提问,那就太好了。

你通常有两件主要的事情需要克服:

  • 语法
  • 参考文献
通过语言教程和一堆示例代码,您可以相当快地掌握语法。 参考(库/API调用),您需要找到适当的指南;也许是语言参考,或者是谷歌

有了这两个工具,经过一次演练(让您习惯使用开发环境)之后,您就已经准备好了——您将能够查找您想要说的内容(参考),并知道如何说(语法)

当然,这主要适用于过程/oop语言;需要范式转换的语言(ML/Haskell)您应该去听讲座;)


(对于更奇怪的时刻,有这么多!)

语言并不重要。重要的是学习设计算法和正确应用设计模式的方法。关注技术,而不是实现某种技术的语言。一旦您了解了正确的开发技术,任何编程语言都将变得非常简单,无论它们多么晦涩

当你把注意力放在一门语言上时,你是在限制自己的知识。

似乎是朝着正确的方向迈出的一步:它汇总了备忘单/快速参考资料,而且它们(在某种程度上)是手动审查的。它的范围也很广。它在“惯用”快速参考方面仍然有点欠缺:例如,Ruby上的页面没有提到
yield

似乎是一个很好的资源,其中包括关于惯用编码的提示,并从简单(如for循环)转移到绘图之类的内容。我还没有检查它有多全面,但是列出了大量的语言和任务。原问题的缺点是:

  • 有些链接不准确 (导航Python->ForLoop将 带你到前环的顶端 页面,而不是Python部分)。这是一个 wiki,这是可以改进的

  • 理想情况下,你可以“切片”维基 无论您选择如何查看,例如顶部 两种语言的20项任务 肩并肩


    • 似乎与我所寻找的几乎完美匹配。质量并不总是存在的,或者说习语可能是缺乏的,但它有着相同的意图,而且相当全面

      到目前为止,所有的答案都集中在传统方法上。对我来说,即使是遵循一个教程,通常也是相当费劲的——只要向我展示语句、循环、函数等等,我就掌握了语法。也许我是理想主义者,但作为一个例子,我觉得虽然你不能教在整个页面的OOP,你可以显示,创建一个“界面”在C++中需要一定的结构和技术。甚至可能根本不合适。与java相比,或者您将如何在。。。嗯。很多很多书,几百页长,都是用OOP写的。你是否认为作者是在浪费时间,你可以从一本书的来源中学到这一切