为何总有人黑 JavaScript?就真的那么差吗?——爱创课堂

划重点

       我真的不理解为何一些人老是黑 JavaScript。我喜欢 JavaScript,它不是万能的,但它最接近于咱们所指望的能“运行在任何地方”!看下文详情说明。node

 

使用 JavaScript,你能够编写应用让它运行在:linux

 

  1. 你的浏览器上(几乎全部浏览器)。数据库

  2. 你的手机和平板电脑(好比 React Native,Cordova)windows

  3. 你的桌面软件(好比 electron 运行在 mac、linux 以及 windows)。浏览器

  4. 你的服务器上即 node。服务器

  5. 甚至在你的数据库中(好比 mongo db)。微信

 

使用 JavaScript,你不须要下载一个 4GB 大小的 IDE 来建立一个 hello world 程序,你不须要等待 30 秒来编译而后才能执行你的 app,你所须要的一切只是一个文本编辑器。app

 

的确 JavaScript 有缺陷,可是,其余任何语言在适用性和灵活性方面都与 JavaScript 相距甚远。框架

 

我对 JavaScript 工具、框架和库的革新(和爆发)感到喜悦。我知道它可能让学习者心累,可是这些新东西很好玩,并且,你不必学全全部的新东西啊。electron

 

我但愿说,咱们能中止在 JavaScript 之上创造“语言”,也中止在你的项目中使用这些新语言。咱们已经有足够多这些语言了:TypeScript、Elm、CoffeeScript 以及其余。我强烈推荐你不要在你的项目中使用这些新语言。

 

我将描述为何不要使用它们,可是首先,我想表达的是,我很欣赏这些创造,它们为咱们的开发提供了多样性的选择,并且尤其重要的是,我很是感谢那些创造了伟大工具和“语言”的人。

 

我曾经是一名坚决的 CoffeeScript 粉。几年前我决定在一个项目里使用它,而随着项目发展我很快意识到这是一个我曾经作出的最糟糕的选择,随后我花费了六个月的时间深刻项目,把整个项目彻底用 JavaScript 重写了一遍。

 

如下是为何使用 CoffeeScript 是个坏选择的一些理由:

 

  1. 我须要额外的构建步骤来“编译”它到 JavaScript,不是什么大问题但有时候很烦。

  2. 它难以调试,由于你在浏览器中看到的是编译后的代码,与你的 CoffeeScript 源文件中的内容不一样 —— 大部分状况下,它的可读性也很好,可是你仍是须要在脑中转换一下。

  3. 目前最大的问题是对任何加入团队的新成员来讲存在比较陡峭的学习曲线,由于他们必需要学习一门新的语言。

  4. 大部分在线的例子(99%)都是用 JavaScript 写的。

  5. 团队开始丧失一部分 JavaScript 技能。慢慢地,JavaScript 代码开始读起来像是另外一种语言,咱们但愿所见的一切都是 CoffeeScript 的。

  6. 咱们不能彻底跟上 JavaScript 的发展脚步,好比 ES6 —— 箭头函数、解构等等。

  7. 咱们不能直接将几行代码放在 script 标签里运行来作一些简单的测试,而若是咱们要作测试,咱们还得先用 JavaScript 来测,而后在测试以后将它“翻译”回 CoffeeScript。

 

虽然我没有深刻使用 TypeScript 或 Elm,但我想它们应该也有相似的问题。

 

RE: TypeScript —— 很是酷的概念,我理解使用它的一些好处,但咱们为何要强迫一个动态语言“表现得”像静态语言那样?C# 正绞尽脑汁地想要表现得更动态一些,而如今咱们又在绞尽脑子地让 JavaScript 表现得更静态一些。搞什么呀!!!

 

长话短说(TL;DR)。

 

  1. 别再黑 JavaScript,开始喜欢 JavaScript。

  2. 别在 JavaScript 之上搞其余语言。

  3. 拥抱 JavaScript 的动态特性。

相关文章
相关标签/搜索