JavaScript 是最好的编程语言吗?
共 1276字,需浏览 3分钟
·
2022-02-09 09:04
说实话,Javascript几乎是我见过的最烂的编程语言,该语言在设计上存在无数的bug。
请注意,烂不一定是缺点,也不一定是贬低。
但是,Javascript与浏览器捆绑。而浏览器作为世界上最重要、最频繁、最广泛的软件之一,使得Javascript无论多烂,它依然拥有数量众多的不得不使用Javascript的开发者。
与此同时,正是由于Javascript巨烂无比,全球各地的开发者不得不绞尽脑汁去绕过它的各种bug,而想出各样的的hack替代方案。
我从未见过任何一种编程语言,能被广大开发者玩出如此之多的花样来。
类型不安全?搞TS版;
语言不安全?搞严格模式;
没有类?挖掘各种设计模式来模拟;
没有模块?搞AMD、CMD;
没有局部变量?搞匿名函数、内部变量和闭包;
不支持unicode?搞unicode支持;
不支持unicode第二平面?搞unicode第二平面的支持;
……
最终,经过全球各地的开发者持续几十年的共同努力,在付出无数的惨重代价之后,开发者才终于从巨烂无比的Javascript尸山血海中杀出了一条血路,使得Javascript终于稍微体面一些了。
有TS版了
有let了
有严格模式了
有class了
有Module了
……
看到没?烂,无以复加的烂,才是Javascript最大的优势。
哦,不,其实捆绑在浏览器的内部,使你不得不使用Javascript,才是Javascript的最大优势。
在此基础上,Javascript越烂,就会有越多的开发者为之绞尽脑汁。最终,Javascript拥有了越来越多的hack方案。紧接着,人们再将这些hack方案加以总结、归纳、提炼,加入到新的标准里边去。这根本就是全民开发出来的草根编程语言嘛!所以它表面烂,实质却迎合了最广大底层开发者的几乎所有需求。正儿八经地研究它,你会觉得它奇烂无比;但是深入使用它,你又会觉得越用越爽。简直是冰火两重天。
当Javascript捆绑到浏览器,形成无法脱离的垄断效应之后,脱离浏览器而独立存在的Javascript就有了生存环境。于是,在服务器运行的Javascript也出现了,在任何需要类浏览器渲染的场合,都可以搞一个独立的Javascript。
最终,一切能够用Javascript实现的,最终都有一个Javascript实现的版本。
最后,在这即将结束本文的高光时刻,我总想说几句富有哲理的话,来激励Javascript粉丝们——可就是能力有限,怎么也憋不出来,只好借用别的名言改一改了:
1、好即是烂,烂即是好;最好即是最烂,最烂即是最好。
2、这是最烂的编程语言,也是最好的编程语言。
3、我爱Javascript,因为别无选择!我爱Javascript,因为它是全民语言!
但是我并不迷信任何编程语言,也不喜欢搞编程宗教和编程语言崇拜,对于任何编程语言,我始终秉持实用主义原则,有需要则用,没需要则弃,再有需要则再用。Javascript也就那样,不过是一个用于实现逻辑的工具而已。一个工具,谁趁手用谁,怎么趁手怎么用。有朝一日,当你逮着场景和机会,也可以考虑搞一个新的工具。