为什么我不推荐 JavsScript 为首选编程语言 - 开源中国社区
为什么我不推荐 JavsScript 为首选编程语言
腊八粥 2014年01月11日

为什么我不推荐 JavsScript 为首选编程语言

腊八粥 腊八粥 发布于2014年01月11日 收藏 35 评论 25

对于软件职业生涯,JavsScript不应该是首选

几天前,我写了一篇《what programming language you should learn first for a career in programming》的文章,引来了很多的争论(Google+ 上有很多没有读文章就提交的)。

我的推荐语言队列中的主要因素是我不认为JavaScript是竞争者。我之前没有详细说明这一点,但是许多人很快就提出:A)JavaScript是明智的选择;B)我的疏忽导致。这篇文章我会详细写一下,对于那些想把软件开发做为职业生涯的人,我通常不会首选JavaScript。然后,我再接受你们的评价。

这不是好的起点

JavaScript狂热分子经常提到,它上手最快,马上就可以开始编程生涯。他们还提到了只用notepad就能开始编程,不需要一个编译器,还触碰可被语言(或任意web浏览器)支持的全局对象。最后,他们还会讨论语言本身简单的特点使得初学者进步很快。所有这些观点我100%同意。

假如你想成为一名赛车手,XYZ团队正在寻找一名新车手。搞到一辆自行车去参加自行车比赛,要比弄到一辆赛车跟着赛道上得车轮容易得多。自行车成本低,学习曲线非常平滑,你很快就能成为熟手。假如你参加了5年的自行车比赛,并且比较擅长了。现在你去应聘XYZ团队的赛车手岗位,他们会雇佣赛车经验少的人,而不是只有自行车比赛经验的你,因为起点越好,他们在赛车上成长得也就越快。

如果我想雇佣一名软件开发者,当应聘者说他了解JavaScript,有5年的JavaScript开发经验,这对本次面试将不是一个好的开端。这种应聘者缺乏开发一整套软件解决方案所需要的基础,他们的成长时间将比有2-3年C,C++,Java,C#,Python,Ruby,PHP经验的开发者长很多。

如果我要雇佣一名web开发者,JavaScript的家伙将更有吸引力。你也应该仅仅加入一个自行车比赛团队。

注意到我是在讨论软件开发、软件工程,端到端系统编程,不只是web开发,这是非常重要的【这里有人会引用Node.js来反驳】。是的,Node.js,我知道。但是一个有经验的软件专家知道一些语言,而不必深入某一种语言的每个细节。你用铁锤最终可以砍断一棵树,但是使用电锯是明智的。

JavaScript的面向对象编程是糟糕的例子

我承认JavaScript可以被认为是一种面向对象语言,只是我不认为这是好的例子。特别是你第一次接触的时候,你在JavaScript里的面向对象编程方式和其他语言相差太多。这本身不是坏事,我只是认为你第一次最好学习更通用的OOP方式,便于将来更加容易地学习一些基于C(或其他语言)的语言。

我认为理解类和继承也是重要的【有人会说到CoffeeScript,是的,我知道】。然后当你开始用JavaScript开发的时候,你会、你一定会看到JavaScript的构造器、基于原型的继承是如何被算作OOP的。我也碰巧想到强类型变量对于软件开发比较重要。

结论:每个人“知道”JavaScript

考虑到那些主张JavaScript做为第一门首选编程语言的最初言论,虽然是对的,它们也是业余“coder”大军的看法。在这一点上,JavaScript是最好的首选语言。如果你想简单涉足编程行列,如果你想鼓捣wordpress博客,或把编程做为业余爱好,我完全推荐JavaScript。这不是说JavaScript容易掌握,真正掌握JavaScript的人没有多少,那些掌握的人具有从其他语言得来经验的、很深的编程背景;但是有很多人认为他们是一个开发者,因为他们已经开始用JavaScript写东西了。你不想成为这样的人的。

如果你想把软件开发做为职业生涯,那么有很多路可走。有很多好的语言适合起步,结论或许在大学得到了印证(据我了解,还没有计算机科学系以JavaScript做为首选语言)。综上所述,我反对那些想成为专业程序员的人把JavaScript做为首选语言。

原文地址:http://www.itworld.com/career/399111/why-i-dont-suggest-javascript-first-programming-language

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:为什么我不推荐 JavsScript 为首选编程语言
分享
评论(25)
最新评论
0
JavaScript在有些地方还是非常不错的,而且还在改进
0
这文章到底有啥用?
0
大部分前端只有查查手册写写jQuery的水准...
0
我也觉得JavaScript不适合做为首选语言,因为确实太难了,基本功没打扎实就跑来碰高阶函数,会死的很惨
0
如果要说选入门语言,那他的那篇《Which programming language should you learn to program with?》也是在扯淡了,JAVA或C#入门,不如学C了,这两个都是C系语法,学C还能更好的理解计算机的工作。如果是要系统学习计算机语言,看看SICP,当然人家现在改用PYTHON了。
0
移动应用用oc我就笑了,哪天苹果垮了,还用毛。
0

引用来自“ImFish”的评论

引用来自“李师叔”的评论

引用来自“羊半仙”的评论

引用来自“vietor”的评论

本来各种语言就是酌情使用的,所以这篇文章毫无意义,感觉就像再说:上厕所时,纸币不能作为首选擦屁股工具。

+1

+1

+1

+10086
0

引用来自“Yongqiang”的评论

说得很好。

+10086
0
偶還是覺得c應該是首選
0
其实我还比较赞同的。不是不好,但不应该是首选。
0

引用来自“胖纸夏天”的评论

作者应该推荐一下什么语言适合首选!

英文原文连接里面写了:企业应用JAVA或者Csharp;网站用PHP或者Ruby;移动用oc。看上去跟没说一样。
0
作者应该推荐一下什么语言适合首选!
0
说得很好。
0

引用来自“李师叔”的评论

引用来自“羊半仙”的评论

引用来自“vietor”的评论

本来各种语言就是酌情使用的,所以这篇文章毫无意义,感觉就像再说:上厕所时,纸币不能作为首选擦屁股工具。

+1

+1

+1
0

引用来自“羊半仙”的评论

引用来自“vietor”的评论

本来各种语言就是酌情使用的,所以这篇文章毫无意义,感觉就像再说:上厕所时,纸币不能作为首选擦屁股工具。

+1

+1
0
javascript 是函数式原型语言.借鉴与scheme.对不起,java也罢,.net也罢.根本不是一个档次.
0
对于JavaScript我很喜欢,但是不得不说他的应用领域还是有局限性的。即使是作为一个web程序员JavaScript也不适合作为首选,除非你做特效,你的方向是前端UI方向。一个web程序员首先要有丰富的服务器端开发经验,然后再将JavaScript作为职业语言,因为只有了解服务器语言的人才能真正意义上掌握JavaScript
0
"真正掌握JavaScript的人没有多少,那些掌握的人具有从其他语言得来经验的、很深的编程背景"
遇到很多认为JavaScript很简单的人
0

引用来自“vietor”的评论

本来各种语言就是酌情使用的,所以这篇文章毫无意义,感觉就像再说:上厕所时,纸币不能作为首选擦屁股工具。

+1
0
表示有何意义,做为web开发者,自然认为JavaScript是首选,做为软件开发者,大多数也认为c是首选,语言学会一门后就很容易学会下一门,无论如何都有相同之处,主要看个人
顶部