Programming languages 学习新语言的一组常见问题

Programming languages 学习新语言的一组常见问题,programming-languages,Programming Languages,随着“多语言”编程技术变得越来越重要,几乎有必要使用“正确的”PL来解决问题。然而,学习新的语言需要时间,这通常是大多数项目团队无法负担的。学习新编程语言的最佳方法是什么?是否有一组常见的问题可以解决,以达到一定的能力水平?嗯,这取决于你想做什么。(网络、数据库等) 一般来说,我想知道: 图书馆是什么样的,我如何引用它 那里有什么 针对it存在哪些构建/部署平台 它如何处理更新 我如何做一般的事情,比如: 数据库访问 归档 显示用户界面的 等等。这本书和提供了大量的算法问题列表,可以用几

随着“多语言”编程技术变得越来越重要,几乎有必要使用“正确的”PL来解决问题。然而,学习新的语言需要时间,这通常是大多数项目团队无法负担的。学习新编程语言的最佳方法是什么?是否有一组常见的问题可以解决,以达到一定的能力水平?

嗯,这取决于你想做什么。(网络、数据库等)

一般来说,我想知道:

  • 图书馆是什么样的,我如何引用它
  • 那里有什么
  • 针对it存在哪些构建/部署平台
  • 它如何处理更新
  • 我如何做一般的事情,比如:
    • 数据库访问
    • 归档
    • 显示用户界面的
等等。

这本书和提供了大量的算法问题列表,可以用几种语言(Java、C、C++)进行自动在线判断。任何一本算法教科书都可以给你提供大量的基本数据结构和过程的例子,让你尝试和实现,这通常是练习基本语言语法和特性的好方法。我个人最喜欢的是,这是一本语言不可知论的书,但也有很多优秀的语言书籍(例如)

如果你对尝试解决的一系列数学问题感兴趣,这是一个很好的资源


对于更多的日常问题,我觉得食谱方法最有帮助。例如,Perl和Python都有优秀的O'Reilly食谱,以及提供了许多常见和重要问题的简短示例。如中所述,这里的关键是找到您将需要的基本功能的规范示例,特别是通过利用标准库中的可用功能。我通常会在编写过程中尝试建立自己的小示例库,例如套接字示例、DB访问示例、文件读取示例、简单的数值解算器等,然后在编写生产代码时收集这些示例。

真的,学习只是通过实践——你需要一个项目,你可以使用给定的语言进行学习

作为一组经常使用的问题,我首先想到的是用一种新的语言来尝试,即使这不是我曾经尝试过的

如果该语言是另一种JVM或CLR托管的语言,那么学习环境的问题可以放在一边——您可以在Clojure/Scala/F#中使用所有熟悉的API。。。代码——并专注于语法和习惯用法

否则,您可能正在使用新语言,因为它非常适合您想要解决的特定问题(例如,本机代码和函数->Haskell;分布式和并发->Erlang),因此功能集的适合性是预先知道的,但您需要额外学习标准API。这就是原型设计的目的