[外刊评论]JavaScript的流行是一群精神病人的狂欢

不得不说的是,这篇文章还是比较片面化得吐槽,请各位js也不要太在意,每个语言都有他吐槽的地方,包括C#,JAVA,PHP,甚至c++和c…如果真要写,可以写出类似于C#是一群精神病人的狂欢,JAVA是一群精神病人的狂欢,PHP是一群精神病人的狂欢…..反正这篇吐槽文章在劝大家不要进JavaScript的坑,但是世界到处都是坑,你不进这个总要进另一个。。好了话不多说,进入正文。

英文原文:The JavaScript phenomenon is a mass psychosis

——————————————————————————————–

翻译如下:

我最近在LinkedIn上收到从加拿大网络犯罪技术公司的总裁发来的一个信件:

我已经阅读了一些你的JavaScript文章。 感觉你是那群JavaScript 精神病院里还正常的人。

我经营了几年的软件业务。 我买了以前我销售的软件,但他是一个有BUG在里面的产品,如今我们正在维护它。 我的前员工把AngularJs和Node.js放到了里面。。。 我记得三年前,和我最好的工程师的谈话里,他说javascript正在接管一切。 我想“哇 他们设法补救这个可怕的语言“

好吧,如果仅仅这些就算,但更坑爹的是,至少在此之前,我们用JS只是来弄点小东西,那时候只是一个玩具。 但如今,JS有一大批问题,并且每个人都像是忘了这是件糟糕的事。 然后,就好像问题还不够多一样,有人把这个东西放到了后台端里面,这个想法真他妈棒极了。 Nodejs每年花费数百万美元,给哪些天真得使用Nodejs的公司。 你知道他们是谁吧?他们是创业公司和小公司。

你需要注意的是,有些工程师很聪明,但是对群体思考这件事不在乎。(别人做的都是辣鸡,就我无敌)

所以这让我思考了很多JS的情况,唯一合理的解释就是:前端被工程师鄙视,因为它不那么科学,给人更直观,同时也因为多年来JS这工具的失败。 所以设计人员已经意识到了问题,现在他们想要好好的编程,但是最后得出的成果是:NodeJS,JS和在这些深渊里面迷失掉自我( – craters)。 设计师不是工程师,反之亦然,我们应该坚持我们各自的优势。

在我的新公司,每个人都对JS问题避而不谈。 我感觉好累,于是对此进行了一个公开谈话。 原来,他们都深深的讨厌JS,过去学习JS只是追随潮流。 现在他们都讨厌JS。而如今, 我们迫不及待地渴望着Web Assembly。

让大家都敞开来说,就像你做的这样,坚持这样做,别让更多的孩子进坑了,就让我们这群老家伙来背负黑暗而前进吧。

在多年来收到的所有支持性消息中,这是我最喜欢的消息之一。 它证实了我一直以来所知道的:JavaScript程序员一直以为JavaScript是一种很好的编程语言。 总裁说这是“跟风心理”和“群众思维”,但我习惯认为这是斯德哥尔摩综合症和邪教信仰。 想想Patty Hearst(???这点译者搞不懂啥意思)和科学论。

大多数人都知道,所有的编程语言都有其缺点。 有些比别人多。 但是JavaScript是特别多的。 这就是为什么你可以在网上找到关于JavaScript的很多投诉。 关于JavaScript最令人惊奇和令人痛心的事情之一是,由于语法错误,它在运行时可能会不加载! 另一个是“callback hell”,那个没有完美的解决方案,只有缓解方案的问题。 JavaScript中最为臭名昭着的错误可能在于它的弱类型(不要与动态类型弄混了),这充分的表现在 WATs 和WTFs 是不是一个意思呢这类调侃上(译者也不知道是不是这个意思,反正我是这样理解,应该不是这样的,有知道正确含义的可以提出下让我修正),致使成为了业内者的笑柄。 这是一个最有趣的(来自JavaScript的支持者,不能少!这点译者也不大懂是什么意思)

我不是喷所有的网站,但举个简单的例子,Google一下你就发现,JavaScript的许多内部不一致和陷阱的问题,那些负面消息使得JavaScript成为一个“数据雷区”。

这门语言非常糟糕,所以使用linter(如JSLint或ESLint)实际上是希望所有JavaScript程序员都去使用。 尽管ECMAScript在近几年有了很多改进,但ES6仍然是热潮。 显然,ECMA TC39委员会无法完全消除所有JavaScript最恶劣的故障。 所以问你自己一个问题:哪个现代编程语言会如此糟糕使你为了安全起见推荐你去用linter来检测自己的代码?

我们不能不说,能不用linter的情况我们最好不要用。 它不能捕捉到一切的问题,甚至可能会产生错误的报错。 是的,这就是你会从一种静态代码分析器遇到的问题。

在Web开发方面,JavaScript虽然不想要却不可能不要。 它是网络浏览器的唯一语言。 实际上,它把你当作了人质(毫不奇怪,许多JavaScript程序员已经爱上了这门语言,都怪斯德哥尔摩综合症)。

但你有选择! 您可以使用除了JavaScript的语言。 这里有一些更好的,并且有很多,很多语言可供选择。 对于前端开发,除非你是羊(译者疑问是羊又怎么了??),否则不需要选择JavaScript。

如果是后端,您不必选择Node(JavaScript),因为后端已经丰富了许多优秀的语言,如Java,Python,C#,Ruby,Erlang和Go。 尤其是GO。遥望那正在堕落的Node吧。

我已经写了十几年的网络应用程序,但很尴尬的是,我所知道的JavaScript很少! 除了类似Query等接口之外,您根本不必使用很多JavaScript。 我用Java,Python(web2py),C#,PHP(Drupal),Smalltalk(Seaside)和Go(Beego)完成了我所有的Web开发工作。 对于前端,特别是我使用了Amber Smalltalk。

所以你是不是还要选择掉进JavaScript这个深坑呢? 前端是能够赚钱的地方。 但是这也是JS Web框架的恶意横行的地方。Angular 1, Angular 2, React, Ember, Meteor, Backbone, Knockout, Mercury, Polymer, Aurelia, Mithril, Vue, etc等框架( React 是目前的“热潮”,但是Vue可以很好地推翻它。)这些框架的寿命像果蝇一样短!

余下全文(1/3)
分享这篇文章:

请关注我们:

共有 1 条讨论

  1. 对于前端开发,除非你是羊(译者疑问是羊又怎么了??)
    ————————-
    我查了一下,sheep这个词还有胆小鬼的意思。。。。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注