JavaScript 是最好的編程語言嗎?
共 1276字,需瀏覽 3分鐘
·
2022-02-09 09:04
說實(shí)話,Javascript幾乎是我見過的最爛的編程語言,該語言在設(shè)計(jì)上存在無數(shù)的bug。
請注意,爛不一定是缺點(diǎn),也不一定是貶低。
但是,Javascript與瀏覽器捆綁。而瀏覽器作為世界上最重要、最頻繁、最廣泛的軟件之一,使得Javascript無論多爛,它依然擁有數(shù)量眾多的不得不使用Javascript的開發(fā)者。
與此同時(shí),正是由于Javascript巨爛無比,全球各地的開發(fā)者不得不絞盡腦汁去繞過它的各種bug,而想出各樣的的hack替代方案。
我從未見過任何一種編程語言,能被廣大開發(fā)者玩出如此之多的花樣來。
類型不安全?搞TS版;
語言不安全?搞嚴(yán)格模式;
沒有類?挖掘各種設(shè)計(jì)模式來模擬;
沒有模塊?搞AMD、CMD;
沒有局部變量?搞匿名函數(shù)、內(nèi)部變量和閉包;
不支持unicode?搞unicode支持;
不支持unicode第二平面?搞unicode第二平面的支持;
……
最終,經(jīng)過全球各地的開發(fā)者持續(xù)幾十年的共同努力,在付出無數(shù)的慘重代價(jià)之后,開發(fā)者才終于從巨爛無比的Javascript尸山血海中殺出了一條血路,使得Javascript終于稍微體面一些了。
有TS版了
有l(wèi)et了
有嚴(yán)格模式了
有class了
有Module了
……
看到?jīng)]?爛,無以復(fù)加的爛,才是Javascript最大的優(yōu)勢。
哦,不,其實(shí)捆綁在瀏覽器的內(nèi)部,使你不得不使用Javascript,才是Javascript的最大優(yōu)勢。
在此基礎(chǔ)上,Javascript越爛,就會(huì)有越多的開發(fā)者為之絞盡腦汁。最終,Javascript擁有了越來越多的hack方案。緊接著,人們再將這些hack方案加以總結(jié)、歸納、提煉,加入到新的標(biāo)準(zhǔn)里邊去。這根本就是全民開發(fā)出來的草根編程語言嘛!所以它表面爛,實(shí)質(zhì)卻迎合了最廣大底層開發(fā)者的幾乎所有需求。正兒八經(jīng)地研究它,你會(huì)覺得它奇爛無比;但是深入使用它,你又會(huì)覺得越用越爽。簡直是冰火兩重天。
當(dāng)Javascript捆綁到瀏覽器,形成無法脫離的壟斷效應(yīng)之后,脫離瀏覽器而獨(dú)立存在的Javascript就有了生存環(huán)境。于是,在服務(wù)器運(yùn)行的Javascript也出現(xiàn)了,在任何需要類瀏覽器渲染的場合,都可以搞一個(gè)獨(dú)立的Javascript。
最終,一切能夠用Javascript實(shí)現(xiàn)的,最終都有一個(gè)Javascript實(shí)現(xiàn)的版本。
最后,在這即將結(jié)束本文的高光時(shí)刻,我總想說幾句富有哲理的話,來激勵(lì)Javascript粉絲們——可就是能力有限,怎么也憋不出來,只好借用別的名言改一改了:
1、好即是爛,爛即是好;最好即是最爛,最爛即是最好。
2、這是最爛的編程語言,也是最好的編程語言。
3、我愛Javascript,因?yàn)閯e無選擇!我愛Javascript,因?yàn)樗侨裾Z言!
但是我并不迷信任何編程語言,也不喜歡搞編程宗教和編程語言崇拜,對于任何編程語言,我始終秉持實(shí)用主義原則,有需要?jiǎng)t用,沒需要?jiǎng)t棄,再有需要?jiǎng)t再用。Javascript也就那樣,不過是一個(gè)用于實(shí)現(xiàn)邏輯的工具而已。一個(gè)工具,誰趁手用誰,怎么趁手怎么用。有朝一日,當(dāng)你逮著場景和機(jī)會(huì),也可以考慮搞一個(gè)新的工具。
