这一问题已争论了很长时间,那么你认为哪种编程语言对于初学者来说是最佳选择呢?
当我被问到这个问题时,我就会首先考虑哪种语言对我的职业最有价值。事情往往更加复杂,你不仅要学习语言本身,你同时还要学习编程基础和很多编程概念。
在多个语言中做出权衡时,你会注意我不会把javascript或标记语言划在我的选择范围内。事实上,我只会从以下选项中进行选择:
- JAVA
- C#
- PHP
- RUBY
- PYTHON
- OBJECTIVE-C
- C++
正如你所见,这里并没有你所钟爱的那几种语言,各语言在总体上或作为基础语言都有各自的优缺点。
影响我选择的主要因素有:
- 哪种能提供最好的基础概念
- 哪种最有助于从一种语言转换到另一种语言
- 哪种能使你炙手可热
之前提到的基础概念,其实就是说的面向对象编程编程概念。当我们学习一些难于把握的概念时,就要观察概念的实现并适应它,这就像就在大脑中扳动开关一样。但是,如果你对语法不那么敏感,那将很难把握。要学习编程基础,我认为Python和Ruby做到非常出色。保守一点话,我自己会偏向于C#和Java.
我考虑的编程语言中,最有助于转换到新语言的是:Java, C#和C++。如果你熟练了3个中的任何一个,你就可以快速的学好其他两个。更重要的是,上面列表中的其他语言都深受这3种语言的影响。另一方面,如果你开始接触Objective-C及其奇葩的语法和模棱两可的编程风格的话,那么你就要花大把的时间再切换到其他语言。同样的Ruby和Python的语法也与其他语言略有不同,不过比Objective-C稍好。
最后,对于哪种语言能让你炙手可热,这几乎取决于你自己的打算,这是我给的最有可能存在变数的建议了,如果你做出了选择,那么你就应该知道其带来的差异。你想到Google工作,最后选择Python;想去企业环境下工作?就学习Java或C#;想构建网站?可选PHP和Ruby;去Apple工作?只有深入Objective-C,并永不逃脱其生态系统。
通常,我几乎总是建议Java或C#。学好其中一个,都将使你跟容易学习其他语言。我个人是从学习C#开始的,并且已经在使用它(和Java)超过10年之久。在那段时间里,我学习了一箩筐的编程语言,并且定期使用。同时,这一经验绝对可以支撑我的建议。
你又如何处理这个问题呢?你会给大学重建他们的CS程序什么建议?成为自由职业者身份?成为猎头?这不是个简单的问题。
原文:http://www.itworld.com/development/398363/whats-best-first-programming-language-learn