问题描述
随着Polyglot"编程技术变得越来越重要,几乎有必要使用正确"的 PL 来解决问题.然而,学习新语言需要时间,而这通常是大多数项目团队无法承受的.学习一门新的编程语言的最佳方法是什么?是否有一组常见的问题可以解决以达到一定的能力水平?
With "Polyglot" programming techniques becoming more relevant, it is almost a necessity to use the "right" PL for the problem. However, learning new languages takes time which usually most project team can't afford. What is the best way to learn a new programming language? Is there a common set of problems that can be solved to reach a certain level of competence?
推荐答案
实际上,学习只是通过实践——您需要一个可以使用给定语言的项目.
Really, learning is only by doing -- you need a project that you can use the given language for.
Project Euler 是第一个想到的东西,它是一组经常使用的问题,可以尝试新语言,即使我从未尝试过.
Project Euler is the first thing to come to mind as an oft-used set of problems to try in a new language, even if it's not something I've ever tried.
如果语言是另一种 JVM 或 CLR 托管的语言,则可以搁置有关学习环境的问题——您可以在 Clojure/Scala/F#... 代码中使用所有熟悉的 API——并专注于语法和习语.
If the language is another JVM or CLR hosted one, the issues about learning the environment can be set aside -- you can use all your familiar APIs in your Clojure/Scala/F#... code -- and concentrate on the syntax and idiom.
否则,您可能正在使用新语言,因为它非常适合您要解决的特定问题(例如本机代码和函数式 -> Haskell;分布式和并发 -> Erlang),因此适合该功能set 是预先知道的,但您有额外的负担来学习标准 API.这就是原型设计的用途.
Otherwise, you're probably using the new language because it has a good fit for the particular problem you want to solve (e.g. native code and functional -> Haskell; distributed and concurrent -> Erlang) so the fit of the feature set is known in advance but you have the extra load of learning the standard APIs. And that's what prototyping is for.
这篇关于学习新语言的一组常见问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!