欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【夔堂】程序血泪史之——有一种垃圾语言叫做JavaScript

程序员文章站 2022-05-30 15:57:45
...

“Prototype”机制是个半成品OOP,有些文章说这玩意当初为了“简单(编写)、容易(学习)”而发明的,但web前端技术发展到今天我们看到,JS显然是需要OOP的,或者说web前端程序规模增长,需要OOP等更强大、方便的特性、机制。真要简单容易,你干脆不要提供能让人实现OOP的继承机制的prototype什么的嘛。提供了结果呢,写类麻烦,继承麻烦,甚至要额外手写代码实现,而且听说继承机制竟有五种之多,这不是反而难学、混乱、麻烦吗。
所以JS的prototype一是仓促懒惰二是没有前瞻性。没前瞻性再说明白点,就是没有发展意识与战略眼光:在前端需求开始发展时就应该做出质的革新,网景(Netscape,后来变成FireFox基金会)不去好好做种前端语言,从技术上打倒微软,却劳民伤财的去跟人家打官司,格调不高雅,做事更不高明。

没有代码提示,首先主要导致生产率极其底下。没有代码提示是因为变量定义没有类型,而且没有类型限定之类的机制、语法来弥补。

没有包。凡是没有包的高层语言都是垃圾。
此处高层语言是指不直接操作硬件的语言,但使用嵌入硬件语言技术不算。比如像jQuery,拿个“$”当包使,这像编程吗?什么玩意啊简直是!

最后导致二十多年后微软做TS,谷歌做Dart来擦屁股(谷歌还做了V8执行引擎),蔚为奇观。现在是2016年11月,这两种语言都发布几年了,且不说技术上的便捷程度如何,可中国招聘网站上竟然都还几乎没有这两种语言的职位!
就算用了还是要学新技术,增加成本。
就算用TS或Dart写了类,JS里面去调用还是不会有代码提示!垃圾就是垃圾。

重复造*,导致程序员换库麻烦,比如因为换工作。
尤其是H5标准发布以后好些*改的改扔的扔,当然又有新库,功能更多体积更大。
那些写框架重复造*的人既是这场灾难的传播者也是受害者。

重复加载、浪费网络带宽、资源。
另外加载还得耗电耗时,导致便携式设备使用时间缩短。
耗时导致浪费人时间、工作效率下降、与网络拥堵互相加剧。
再强调一句:这些*大部分代码功能都一样。

到现在甚至js库都开始用管理器了!比如node.js搞的什么软件包管理器npm。

这里我特别要对软件业巨头提出强烈批评,
不指望你们开发多先进的浏览器,也不指望你们开发出新的脚本语言;百十万的高工牛人,就让浏览器能执行个写起来舒服点的python都没人能想到吗?
还在那一天用着几十年前的js和js库开发各种所谓高大上的产品,简直丢人现眼。

这种垃圾语言我看都懒得看一眼,如果我去学,第一也是为了进行全面、深刻的批判。嗯,所以这篇可能会有续篇。

我这人作为程序员的一项使命就是消灭网站和应用程序中的JS。

肯定有人骂我咋不自己写个浏览器,我的回答就是我命苦没钱自己在家做,以后有钱又要忙死。而且这么骂的人都是看不懂我那网站上Flash做的demo的蠢货或者干脆不是程序员的。

其实我还想让开源社区来实现浏览器或者“可以执行bean文档中嵌入的脚本的Spring”之类的应用产品,不花钱、有人替我实现才好。

有句话本该放在开头的,但觉得放在结尾更有说服力:JS就是网景公司当初为了网页能够互动而随手做的玩具语言。而且跟败在自己手下的微软的垃圾VB大概是一个档次。