文档章节

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

九千里
 九千里
发布于 2017/04/25 15:32
字数 2107
阅读 2180
收藏 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编译环境。
纯洁徐
纯洁徐

引用来自“lilugirl”的评论

老家伙的牢骚罢了,不必当真
+1
notreami
notreami

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

翻译后的措辞比较难理解,直接看原文吧。
这就尴尬了
九千里
九千里

引用来自“lilugirl”的评论

老家伙的牢骚罢了,不必当真
算是这样,哈哈哈哈哈哈哈哈哈哈哈哈哈
lilugirl
lilugirl
老家伙的牢骚罢了,不必当真
九千里
九千里

引用来自“kubei”的评论

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

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

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

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

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

引用来自“kerneler”的评论

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

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

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

引用来自“宏哥”的评论

直接用mp4即可, 更简单

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

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

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

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

JSON 原文地址:https://developer.mozilla.org/en-US/docs/JSON 已经提交至Mozilla,地址是:https://developer.mozilla.org/zh-CN/docs/JSON 译者能力有限,欢迎拍砖 感觉这个文章有些地方...

陈冠羽
2013/05/17
0
2
Ubuntu9.04 正式版发布时间的WEB倒计时代码

在Ubuntu 8.10 正式版发布之前 Ubuntu 官方提供正式版发布时间的WEB倒计时,不知道各位站长是否有加入官方提供的代码到你的网站或者Blog中没有。现在Ubuntu 9.04 正式版也准备发布了,估计是...

晨曦之光
2012/03/09
0
0
JavaScript 学习资源推荐

最近 reddit 有讨论:References for JavaScript Mastery. 去年 Rey Bango 博客上也有一篇文章:What to Read to Get Up to Speed in JavaScript. 下面是我的整理,希望能对你有所帮助。 登堂...

deeper099
2011/09/29
0
1
开源书籍-JavaScript 编程精解

《JavaScript 编程精解》(Eloquent JavaScript)第三版,是由马尔奇·哈弗贝克(Marlin Haverbeke)JavaScript程序员编写的JS入门书籍,Marlin Haverbeke通晓多种编程语言,在Web开发方面积累...

marsdream
06/04
0
0
9款有用的Javascript代码高亮脚本

原文:9款有用的Javascript代码高亮脚本 译自: webdesignbooth 转自:http://www.qianduan.net/9-useful-javascript-syntax-highlighting-scripts.html 代码高亮 很重要,特别是当我们想要在...

晨曦之光
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

深夜胡思乱想

魔兽世界 最近魔兽世界出了新版本, 周末两天升到了满级,比之前的版本体验好很多,做任务不用抢怪了,不用组队打怪也是共享拾取的。技能简化了很多,哪个亮按哪个。 运维 服务器 产品 之间的...

Firxiao
5分钟前
0
0
MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
38分钟前
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
0
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
2
0
设计模式之五 责任链模式(Chain of Responsibility)

一. 场景 相信我们都有过这样的经历; 我们去职能部门办理一个事情,先去了A部门,到了地方被告知这件事情由B部门处理; 当我们到了B部门的时候,又被告知这件事情已经移交给了C部门处理; ...

JackieRiver
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部