JavaScript 热潮是一群精神病人的狂欢(翻译:转自hackernoon论坛)
JavaScript 热潮是一群精神病人的狂欢(翻译:转自hackernoon论坛)
九千里 发表于10个月前
JavaScript 热潮是一群精神病人的狂欢(翻译:转自hackernoon论坛)
  • 发表于 10个月前
  • 阅读 2164
  • 收藏 6
  • 点赞 1
  • 评论 24

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 翻译一篇来自hackernoon论坛里,吐槽javascript的文章

原文地址:

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.

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 1
码字总数 2107
评论 (24)
kerneler
很多公司举着用户体验的大旗,疯狂泛滥的使用js,导致实际用户体验极差。明明服务器几毫秒就能搞定的事情,非要反反复复进行前后端交互
九千里

引用来自“kerneler”的评论

很多公司举着用户体验的大旗,疯狂泛滥的使用js,导致实际用户体验极差。明明服务器几毫秒就能搞定的事情,非要反反复复进行前后端交互
有遇到同样的情况,老板看到别人网站上有个漂亮妹子从虚无中走出来,然后风姿招展的介绍自个的网站,老板一拍桌子,问我们前端能不能做,但实际上那是真人拍摄后用flash处理做出来的。。。除了真人拍摄外还要除掉绿景,贼麻烦
mark35
不知所云
宏哥

引用来自“kerneler”的评论

很多公司举着用户体验的大旗,疯狂泛滥的使用js,导致实际用户体验极差。明明服务器几毫秒就能搞定的事情,非要反反复复进行前后端交互

引用来自“九千里”的评论

有遇到同样的情况,老板看到别人网站上有个漂亮妹子从虚无中走出来,然后风姿招展的介绍自个的网站,老板一拍桌子,问我们前端能不能做,但实际上那是真人拍摄后用flash处理做出来的。。。除了真人拍摄外还要除掉绿景,贼麻烦
直接用mp4即可, 更简单
引鸩怼孑
说的甚好
前排支持
九千里

引用来自“kerneler”的评论

很多公司举着用户体验的大旗,疯狂泛滥的使用js,导致实际用户体验极差。明明服务器几毫秒就能搞定的事情,非要反反复复进行前后端交互

引用来自“九千里”的评论

有遇到同样的情况,老板看到别人网站上有个漂亮妹子从虚无中走出来,然后风姿招展的介绍自个的网站,老板一拍桌子,问我们前端能不能做,但实际上那是真人拍摄后用flash处理做出来的。。。除了真人拍摄外还要除掉绿景,贼麻烦

引用来自“宏哥”的评论

直接用mp4即可, 更简单
当时的人像背景是完全透明的,除了人网页其他部分都能看到,为了满足老板的想法所以只能用flash
Fenying
linter只是用来规范代码格式……或者禁止部分用法……
九千里

引用来自“Fenying”的评论

linter只是用来规范代码格式……或者禁止部分用法……
这一点我也不是很理解,如果仅仅只能作为一个代码规范检测的工具,不应该这样吐槽它的使用条件,难道是我翻译错或者少理解了什么?
莫默磨墨先生
翻译后的措辞比较难理解,直接看原文吧。
kubei
伍成才表示 只懂用jquery
雨vs枫
EC的标准更新太快导致各个浏览器实现层次不齐,js技术栈越来越深,甚至到了丧心病狂的地步!
子丶言

引用来自“kerneler”的评论

很多公司举着用户体验的大旗,疯狂泛滥的使用js,导致实际用户体验极差。明明服务器几毫秒就能搞定的事情,非要反反复复进行前后端交互

引用来自“九千里”的评论

有遇到同样的情况,老板看到别人网站上有个漂亮妹子从虚无中走出来,然后风姿招展的介绍自个的网站,老板一拍桌子,问我们前端能不能做,但实际上那是真人拍摄后用flash处理做出来的。。。除了真人拍摄外还要除掉绿景,贼麻烦

引用来自“宏哥”的评论

直接用mp4即可, 更简单

引用来自“九千里”的评论

当时的人像背景是完全透明的,除了人网页其他部分都能看到,为了满足老板的想法所以只能用flash
用 canvas 渲染 video 就可以了..完全可以实现你说的只能用 flash 的效果
eechen
You don’t have to use much JavaScript at all, except perhaps to interface with jQuery and the like.
“除了类似Query等接口之外,您根本不必使用很多JavaScript。”
为什么楼主的翻译中把jQuery翻译成了Query呢?
九千里

引用来自“eechen”的评论

You don’t have to use much JavaScript at all, except perhaps to interface with jQuery and the like.
“除了类似Query等接口之外,您根本不必使用很多JavaScript。”
为什么楼主的翻译中把jQuery翻译成了Query呢?
笔误....已修正
九千里

引用来自“kerneler”的评论

很多公司举着用户体验的大旗,疯狂泛滥的使用js,导致实际用户体验极差。明明服务器几毫秒就能搞定的事情,非要反反复复进行前后端交互

引用来自“九千里”的评论

有遇到同样的情况,老板看到别人网站上有个漂亮妹子从虚无中走出来,然后风姿招展的介绍自个的网站,老板一拍桌子,问我们前端能不能做,但实际上那是真人拍摄后用flash处理做出来的。。。除了真人拍摄外还要除掉绿景,贼麻烦

引用来自“宏哥”的评论

直接用mp4即可, 更简单

引用来自“九千里”的评论

当时的人像背景是完全透明的,除了人网页其他部分都能看到,为了满足老板的想法所以只能用flash

引用来自“子丶言”的评论

用 canvas 渲染 video 就可以了..完全可以实现你说的只能用 flash 的效果
好了好了,这问题不是重点,话题拉回到这篇文章的翻译上...
九千里

引用来自“莫默磨墨先生”的评论

翻译后的措辞比较难理解,直接看原文吧。
是啊,译文这种东西真的较为难理解,所以我也才想着努力学好英文
九千里

引用来自“雨vs枫”的评论

EC的标准更新太快导致各个浏览器实现层次不齐,js技术栈越来越深,甚至到了丧心病狂的地步!
对,现在的网页前端真的太不容易了..
九千里

引用来自“kubei”的评论

伍成才表示 只懂用jquery
虽然我不是前端,但是用到的时候我也是更愿意用jQuery和纯粹的js,听到现在有这么多的框架我都感到头大。。
lilugirl
老家伙的牢骚罢了,不必当真
九千里

引用来自“lilugirl”的评论

老家伙的牢骚罢了,不必当真
算是这样,哈哈哈哈哈哈哈哈哈哈哈哈哈
×
九千里
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: