文档章节

不建议将JavaScript作为主力语言

右边有棵草
 右边有棵草
发布于 2014/04/21 14:41
字数 1255
阅读 30
收藏 0

在我向大家推荐语言的时侯,一个主要的告诫就是,不要考虑 JavaScript。在我没有表达我的观点以前,很多人很快地向我建议 A) JavaScript 是显而易见的选择,还有B) 我没有把 JS 加入名单,显得我很无知。在这里我会详细地说明,我为什么不像大多数那样,建议你将 JavaScript 作为职业生涯中的主力语言。然后我会接受你的评判。


  她没有一个好的基础


  一个反复出现的, 由 JavaScript 传道士提出观点认为: 她是最简单的能最快起步和运行的编程语言,他们的举例无非是使用记事本编程的能力。他们提到不需要编绎器,他们举例这种语言广泛的全球支持性(在任何浏览器上)。最后他们举例这种语言本身对于初学者来说是多么容易。我 100% 同意这些有效的观点。


  想象一下,你正想成为一个赛车手,然后 XYZ 团队正在寻找一辆新车。相比找到一辆能在赛道上跑的赛车来说,找一辆自行车去完成自行车比赛是更容易一些。自行车的成本很低,学习曲线很浅,你可以很快很容易的上手。让我们假设你参加自行车竞赛 5 年以后就可以非常地擅长了。现在你向往的 XYZ 团队的新职位可能会无视你 5 年的自行车竞技经验。他们将会**一位在赛车方面拥有更少经验的人,相比你的自行车竞赛经验来说,他们的基础更好,而且未来成长地更快。


  如果我雇佣一些软件开发工程师,然后一位侯选人进来说他有 5 年的 JavaScript 开发经验,这会给面试造成非常坏的映像。这个人缺少一套完整的解决方案开发经验,他们在斜坡上的时间将显著超过那些只有两年例如c,c++,Java,C#,Python,Ruby,PHP 开发经验的人。


  如果我只雇佣一位 Web 开发者,这个精通 JavaScript 的家伙显然更加的有吸引力。因为他加入的只是一个自行车竞赛团队。


  我说是软件开发这点很重要,软件工程师,端到端的系统编程,不仅仅是孤立的 web 开发。[在这里插入反驳理由:Node.js]。是的,Node.js 我知道。但是一位有经验的软件专业可以擅长多种语言,他们不需要在各种场合仅使用一种语言。你可以用锤子砍倒一棵树,但是用电锯更有意义。


  JavaScript 是一门糟糕的面向对象语言典型例子


  我承认,JavaScript 可以被认为是一门面向对象的语言,我只是认为她不是一个好的例子。尤其作为你的主力语言。你通过 JavaScript 实现的大多数面向对象语言的途径,会大大降低你掌握其它语言的能力。这本身并不是一件坏事,我只是认为你首先应该接触那些更加通用的面向对象风格,然后你接触基础C风格的面向对象语言会更加地容易。


  在我的观念里,理解类和类的继承关系是非常重要的[在这里插点 CoffeeScript 的事情,是的,我知道。然后你开始 JavaScript 开发了,然后你会看到 JavaScript 的 constructor 和 prototype 扮演着 OOP 的角色。我忽然也想到强类型变量对于软件开发来说非常重要。 


  结论: 每个人都 “懂” JavaScript


  除了刚开始那些将 JavaScript 作为首要编辑语言的观点,这个当然也是对的,但一部分原因也是因为他们都是些业余的“程序员”。在这方面,JavaScript 是完美的第一语言。如果你只想会一点蹩脚的编程,如果你想调整你的 Wordpress 博客,或者仅将编程视为一种业余爱好,我衷心推荐你使用 JavaScript。这不是说 JavaScript 更容易掌握,只有很少的人能够精通 JavaScript,而且那些人可能已经在其他语言方面积累了非常丰富的经验;但是也有很多人写了一点 JS 就认为自己是一名程序员。你不会想成为他们中的一员。


  如果你想在软件开发做出一番事业,这里有很多路可以走。有很多好的语言可以选择,这个决定可能已经在大学里做出了(我所知道的计算机科学里没有教 JavaScript 的)。在这篇文章中提到的这些,是我不建议那些想成为**程序员首先学习 JavaScript 的原因。

本文转载自:http://www.html5cn.org/article-6146-1.html

共有 人打赏支持
右边有棵草
粉丝 40
博文 2
码字总数 152
作品 0
杭州
私信 提问
为什么我不建议你将JavaScript作为主力语言

在你的软件职业生涯中,JavaScript不应该成为你的首要语言 转自:ourjs.com 作者 Matthew Mombrea 1 月 09, 2014 (几天前,我写了一篇文章关于在 你的职业生涯中应该学习的编程语言。这个引起...

Kris_zcl
2014/04/15
1K
13
10 个你需要了解的最佳 javascript 开发实践

原文:Top 10 “Must Follow” JavaScript Best Practices Javascript 的很多扩展的特性是的它变得更加的犀利, 同时也给予程序员机会创建更漂亮并且更让用户喜欢的网站。 尽管很多的开发人员...

justjavac
2013/10/15
679
1
NodeJS会是昙花一现吗?

在用了一年以后,我感觉node.js有一点不对劲。它很有意思,但是我觉得我应该用另外一个视角去审视它。 网络编程真的可以更容易吗? node.js无疑有一些设计非常好的地方。前段时间我写了一个性...

Kris_zcl
2014/11/12
4.6K
7
你必须知道的JavaScript的技巧

Jav aScript是一种广泛用于客户端网页开发的脚本语言,最常是于HTML上使用,用来给HTML网页添加动态功能。JavaScript是比较容易上手的语言之一,虽然他名字含有着Java但是两者完全是不相干的...

胡晋
2011/10/15
1K
5
JavaScript初学者应该了解的二三事!(翻译)

原文链接:http://www.codeproject.com/Articles/333596/What-devs-should-know-about-Javascript 作为javascript初学者,你应该了解这些 (以下js表示javascript的简称) 大家都知道在开发服务...

junwong
2012/02/23
1K
6

没有更多内容

加载失败,请刷新页面

加载更多

移植Modbus到STM32F103(2):移植FreeModbus到usart3并运行示例代码

FreeModbus是Modbus的一个被广泛移植的实现。其源码在github,最新版是1.6。 FreeModbus支持Modbus功能码里的0x01~0x06,0x0F~0x11和0x17,对一些功能比如异常诊断和读事件计数等功能码并没有...

Konstantine
23分钟前
0
0
浅谈神经网络(神经网络篇)

背景 之前写过浅谈神经网络基础篇,简单介绍下机器学习这块内容,用于扫盲。本文正式将神经网络,这部分是深度学习的基础。了解完可以掌握强大的机器学习的方法,也可以更好的了解深度学习。...

Uknowzheng
今天
3
0
移动硬盘变为RAW格式后的修复

在Mac上使用自己的移动硬盘结果文件系统格式变为RAW; 在自己windows笔记本上使用chkdsk H: /F进行修复,修复日志如下: C:\Users\mengzhang6>chkdsk H: /F文件系统的类型是 NTFS。卷标是 do...

晨猫
今天
3
0
10 Git —— 标签管理

10 Git —— 标签管理 本节内容: 命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;命令git......

lwenhao
今天
3
0
小程序设置垂直居中,水平居中

如果子容器中的view需要居中的话,那需要在父容器中设置居中 水平居中: display: flex; flex-direction: column; align-items: center; 垂直居中 display: flex;align-items: cen...

淘幻幻
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部