如何快速学习一门编程语言?
什么语言其实并不重要
是的,你没有看错,学什么语言其实并不重要。原因有很多,但其中最主要的是众多编程语言的核心其实是非常相似的。也许他们语法不同,外观不同,甚至功能也完全不同,但是核心层面的相似程度远比你预料的高。几乎所有的编程语言都会有分支、 循环、调用方法或过程以及代码组织方式。有的甚至相似到你精通一门语言后就自然会了另一门语言,C# 和 Java 都是很好的例子。JavaScript也与他们十分相似。
学习第一门语言总是最难的,一旦你掌握了一门语言,第二门就会容易很多,当你学会了两门或者更多的语言,学习难度将呈指数级降低。如果你现在一门语言都不会,可能很难相信这些话,但是如果你已经学会了10门语言,我敢保证你会说前两门语言是最难的。
这意味着如果你已经学了一门语言,却发现这门语言并不适合你,或者找到另一份需要使用其他语言的工作,没有关系,你已经度过了最艰难的日子,再学一门语言对你来说不是大事。
你也可能会发现,很多岗位—特别是在微软和谷歌之类的大公司—是不需要你知道特定编程语言的。我也遇到过跟多这种情况,被要求使用最拿手的编程语言来解决某个特定的问题,没有限制,不需要知道某种特定的语言,思想比语言更重要。
选择编程语言需要考虑的问题
所以,我认为,首先学哪门语言并不重要。但是如果你仍然不知该如何选择,那么考虑下面几个问题。
就业前景和未来
多于你们大多数来说,最需要考虑的是,选择什么样的编程语言,能对我未来的工作有所帮助。现在,最流行的语言是能在相同时间内完成更多任务的语言。编程语言的人气也同明星一样,有升有降,如果你只关心工作的可用性,可能会虑主流的编程语言,在写这篇文章的时候,这些都是主流的语言:
C#
Java
Python
Ruby
JavaScript
C++
PHP
使用以上任何一种语言的职位都不在少数,这也就是说,如果你不愿意搬迁的话,选择哪种语言就取决于你所在的位置。例如,如果你住在阿肯色州的一个小镇上,小镇上只有一家软件公司,他们所有的业务都使用Java,我就建议你学习Java,这是从非常现实的角度来考虑问题。不过我想你们中的大多数或许都愿意外出闯荡,这种情况下你的选择就取决于你的目标公司和岗位了,这需要自己去调查。
如果你想成为一个自由职业者,那么我建议你学习偏门一点的,使用不是那么广泛的语言,这样你面临的竞争压力会小很多。当然,一开始还是要坚持从主流语言学起。
除了就业前景,另一个需要考虑的问题是编程语言的未来。例如Objective-C就不是一个很好的选择,因为大多数iOS开发者都已经切换到Swift,Swift才是苹果大力投资的方向。如果你现在就是在使用Objective-C工作,也不用担心,因为仍然有大量的遗留工作需要Objective-C来维护,只不过长远来看,Objective-C早晚会被Swift取代的。
当然了,我们都没有魔法球,能够准确地预测未来,哪些语言会受到欢迎,哪些会被抛弃。我曾经预测JavaScript的衰败,但那完全没有发生。如果想更全面的了解编程,可以来我这看看。
希望对您有所帮助!~