文档章节

JavaScript 热潮是一群精神病人的狂欢(翻译:转自hackernoon论坛)

九千里
 九千里
发布于 2017/04/25 15:32
字数 2107
阅读 2194
收藏 6

原文地址:

https://hackernoon.com/the-javascript-phenomenon-is-a-mass-psychosis-57adebb09359

前言:

很多是从谷歌翻译上依照对比后修正的,但估计还是有些地方理解错了,有知道错的地方请指出后我会修正,另外,此文翻译仅作学习共享用途,请勿用于任何商业盈利用途...另外不得不说的是,这篇文章还是比较片面化得吐槽,请各位js也不要太在意,每个语言都有他吐槽的地方,包括C#,JAVA,PHP,甚至c++和c...如果真要写,可以写出类似于C#是一群精神病人的狂欢,JAVA是一群精神病人的狂欢,PHP是一群精神病人的狂欢.....反正这篇吐槽文章在劝大家不要进JavaScript的坑,但是世界到处都是坑,你不进这个总要进另一个。。好了话不多说,进入正文。

--------------------------------------------------------------------------------------------

翻译如下:

我最近在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(看注1)和科学论。

大多数人都知道,所有的编程语言都有其缺点。 有些比别人多。 但是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很少! 除了类似jQuery等接口之外,您根本不必使用很多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:Patty Hearst是上世纪美国某超超超大媒体公司的继承人,19岁的时候被恐怖组织“共生解放军”绑架, 其后她竟然加入了这个组织!并且帮助他们偷窃商店,抢劫银行啊。所以她被认为是斯德哥尔摩综合的典型患者,但是另一种说法是,她是被迫参与犯罪,担心自己不参与就会被杀害.

本文转载翻译的目的在于传递更多信息,并不代表本人观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本人联系,我将在第一时间删除内容。本文章版权归原作者所有 内容为作者个人观点 本文只提供参考并不构成任何投资及应用建议。本人拥有对此声明的最终解释权。

That is all.

© 著作权归作者所有

共有 人打赏支持
九千里
粉丝 2
博文 1
码字总数 2107
作品 0
深圳
私信 提问
加载中

评论(24)

九千里
九千里

引用来自“刘帅呈”的评论

没有js框架迅捷开发怎么实现,没有框架代码怎么管理,说前端框架像果蝇一样长的这纯是无稽之谈,前端才刚刚从原始的html+css+js阶段脱离,走向更广阔的领域,这是一种发展和进步。而这篇文章却将呱呱落地的婴儿称为果蝇!
说到js是一群神经病,更说明作者的无知(如果你是小白转载跟你没关系),js已经统一了前端,你只要做网页不用js恐怕很难实现。
而随着js的广泛应用和一通,出现了新一代编译环境nodejs,采用了更新的思想,其实nodejs的处理能力是有目共睹的,至于轻量node、php、python又有谁能说的清呢?
的确nodejs开发起来还有写蹩脚的地方,但是他只是一种语言的编译环境,而且概念很新,所以才蹩脚,随着技术发展,也许node会被取代,但是取代node的一定是具有新思想解决了node蹩脚问题的新一代主流js编译环境。
诶诶诶,我是翻译,这篇文章的确很大部分是在发牢骚成分居多...另外,作者貌似没有否定js的框架概念,而是吐槽JS框架种类实在太多...今天一个张三框架明天一个李四框架,一个项目,如果前后太多不同的前端接收了,糅合了太多张三李四王五赵六框架就会显得不是这么严谨.作者应该是这个意思
刘帅呈
没有js框架迅捷开发怎么实现,没有框架代码怎么管理,说前端框架像果蝇一样长的这纯是无稽之谈,前端才刚刚从原始的html+css+js阶段脱离,走向更广阔的领域,这是一种发展和进步。而这篇文章却将呱呱落地的婴儿称为果蝇!
说到js是一群神经病,更说明作者的无知(如果你是小白转载跟你没关系),js已经统一了前端,你只要做网页不用js恐怕很难实现。
而随着js的广泛应用和一通,出现了新一代编译环境nodejs,采用了更新的思想,其实nodejs的处理能力是有目共睹的,至于轻量node、php、python又有谁能说的清呢?
的确nodejs开发起来还有写蹩脚的地方,但是他只是一种语言的编译环境,而且概念很新,所以才蹩脚,随着技术发展,也许node会被取代,但是取代node的一定是具有新思想解决了node蹩脚问题的新一代主流js编译环境。