为什么总有人黑 JavaScript?就真的那么差吗?

#1

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

使用 JavaScript,你可以编写应用让它运行在:

你的浏览器上(几乎所有浏览器)。
你的手机和平板电脑(比如 React Native,Cordova)
你的桌面软件(比如 electron 运行在 mac、linux 以及 windows)。
你的服务器上即 node。
甚至在你的数据库中(比如 mongo db)。

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

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

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

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

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

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

以下是为什么使用 CoffeeScript 是个坏选择的一些理由:

我需要额外的构建步骤来“编译”它到 JavaScript,不是什么大问题但有时候很烦。
它难以调试,因为你在浏览器中看到的是编译后的代码,与你的 CoffeeScript 源文件中的内容不同 —— 大部分情况下,它的可读性也很好,但是你还是需要在脑中转换一下。
目前最大的问题是对任何加入团队的新成员来说存在比较陡峭的学习曲线,因为他们必须要学习一门新的语言。

大部分在线的例子(99%)都是用 JavaScript 写的。
团队开始丧失一部分 JavaScript 技能。慢慢地,JavaScript 代码开始读起来像是另一种语言,我们希望所见的一切都是 CoffeeScript 的。
我们不能完全跟上 JavaScript 的发展脚步,比如 ES6 —— 箭头函数、解构等等。
我们不能直接将几行代码放在 script 标签里运行来做一些简单的测试,而如果我们要做测试,我们还得先用 JavaScript 来测,然后在测试之后将它“翻译”回 CoffeeScript。

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

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

长话短说(TL;DR)。

别再黑 JavaScript,开始喜欢 JavaScript。
别在 JavaScript 之上搞其他语言。
拥抱 JavaScript 的动态特性。

欢迎阅读我更多的文章:
http://www.icketang.com/2017/ickt_state_0713/190.html?mlt

#2

有深入学习过其他语言吗

1 Like
#3

支持楼主观点。萝卜白菜各有所爱,有那时间不如好好钻研,不论哪门语言,扬长避短嘛。

#4

虽然楼主写的很有意思, 但是流水账格式太美重点了, 建议多使用 Markdown 高级功能 https://guides.github.com/features/mastering-markdown/

隔壁的招聘帖格式就很漂亮啊 [北京] 无二之旅 招聘 ReactNative 移动端开发工程师 (15k - 30k)

#5

之前在微信看到这篇文章,感觉很像软文。
题主应该尝试一下其他语言,提高一下知识水平:sunglasses:

#6

十多年前就有人黑了,谈定一点。说啥的没有?
一对夫妻骑驴的故事。妻骑驴,夫牵驴,路人指指点点:像什么样子?这女人太不像话,居然让男人牵驴,妻听了,脸红了,和夫换个位置,夫骑驴,妻牵驴,没走几步,路人又开始指指点点:像什么样子?这男人太不像话,居然让女人牵驴,大男子主义。这下夫又脸红了,他们决定夫妻一起骑驴,两人骑着驴,又没走几步路,路人指指点点的更加厉害了:像什么样子?两个人骑这一头小毛驴,这分明是虐待动物。夫妻俩这下是彻底不知所措了,这也不行,那也不对,干脆,都不骑了,两人一起牵着驴走路。可结果呢?他们夫妻二人还是被路人指指点点:这两个人,明明有一头驴子,可谁也不骑,那你们养这牲口,干嘛用呢?

1 Like
#7

楼主别乱带节奏了

#8

幸好你说的不是篮球,不然黑子的口水能让你淹死。