你的位置:首页 > Java教程

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


 

“Prototype”机制是个半成品OOP,有些文章说这玩意当初为了“简单(编写)、容易(学习)”而发明的,但web前端技术发展到今天我们看到,JS显然是需要OOP的,或者说web前端程序规模增长,需要OOP等更强大、方便的特性、机制。真要简单容易,你干脆不要提供能让人实现继承的什么prototype嘛。提供了结果呢,继承要额外手写代码实现,而且听说继承机制竟有五种之多,这不是反而难学、混乱、麻烦吗。

所以JS的prototype一是仓促懒惰二是没有前瞻性。没前瞻性说明白点,就是没有发展意识与战略眼光:在前端需求开始发展时就应该做出质的革新,网景(Netscape,后来变成FireFox基金会)不去好好做种前端语言,从技术上打倒微软,却劳民伤财的去跟人家打官司,格调不高雅,做事更不高明。

 

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

 

没有包。凡是没有包的高层语言都是垃圾。

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

 

最后导致二十多年后微软做TS,谷歌做Dart来擦屁股(谷歌还做了V8执行引擎),蔚为奇观。现在是2016年11月,这两种语言都发布几年了,且不说技术上的便捷程度如何,可中国招聘网站上竟然都还几乎没有这两种语言的职位!

就算用了还是要学新技术,增加成本。

就算用TS或Dart写了类,JS里面去调用还是不会有代码提示!垃圾就是垃圾。

 

重复造轮子,导致程序员换库麻烦。

那些写框架重复造轮子的人既是这场灾难的传播者也是受害者。

 

重复加载、浪费网络带宽、资源。

另外加载还得耗电耗时,导致便携式设备使用时间缩短。

耗时导致浪费人时间、工作效率下降、与网络拥堵互相加剧。

再强调一句:这些轮子大部分代码功能都一样。

 

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

 

这里我特别要对软件业巨头提出强烈批评,

不指望你们开发多先进的浏览器,也不指望你们开发出新的脚本语言;百十万的高工牛人,就让浏览器能执行个写起来舒服点的python都没人能想到吗?

还在那一天用着几十年前的js和老外的js库开发各种所谓高大上的产品,简直丢人现眼。

 

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

 

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

 

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

 

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

 

最后我再唠一遍:JS就是网景公司当初为了网页能够互动而随手做的玩具语言。而且跟败在自己手下的微软的垃圾VB大概是一个档次。