天天看點

Javascript是最好的程式設計語言嗎?

Javascript是最好的程式設計語言嗎?

說實話,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實作的版本。

1、好即是爛,爛即是好;最好即是最爛,最爛即是最好。

2、這是最爛的程式設計語言,也是最好的程式設計語言。

3、我愛Javascript,因為别無選擇!我愛Javascript,因為它是全民語言!

繼續閱讀