Javascript必須死

我知道這個標題在2022的此刻來說,很可笑。

今天在evrone讀到道格拉斯·克羅克福特Douglas Crockford(a.k.a JSON之父)針對javascript這個垃圾語言的見解,與敝人心中多年來的看法不謀而合,因此特地寫下此篇blog紀錄。javascript的好壞有深入跟他打過交道的程式設計師應該都冷暖在心,為了彌補這個垃圾語言造成的後續問題竟然引出安德斯·海爾斯伯格Anders Hejlsberg(a.k.a C#之父)幫他寫了一個TypeScript對應,一個語言垃圾到需要推出另外一個語言來達成生產力,且讓全世界多數人贊同,這大概是程式設計史上的首例吧。

要知道javascript是布蘭登·艾克Brendan Eich在1995年5月僅花了十天時間就設計出原型的產品,卻陰錯陽差地搭上全世界Web的浪潮將這個垃圾語言推行至浪尖上,不僅型別混亂,連底層基礎函式庫廢到笑(瞧瞧精美的Date Objects),讓全世界所有的工程師花了多少的人力工時腦袋,為javascript持續修補增添相關的功能,今日看到JSON之父出來說句公道話,真的是舒爽了心中長久的怨氣。

JSON之父說: 我們今天對javascript能夠做的最好的事情,就是讓它退休吧!

說的完全沒錯,全世界迄今花了快30年的時間修補這個垃圾語言,是不是已經夠了?甚至我認為從HTML 5推出後,整個Web的技術已經陷入瘋狂,在我的觀點根本就像填土一樣拼拼湊湊、東縫西補的捏塑出一個網站(HTML、CSS、JS、WebRTC、Async...),真是夠了。合久必分分久必合,敝人認為世界藉由新技術回到過去,把Browser作為終端機的時代(新協定)應該逐漸被重視與推動了(WebAssembly、WebRTC),但我也知道隨著時間的推移(文件與知識的累增、架構與技術的堆積)全面拋棄傳統HTML架構會變得越來越難。

文章中我唯一不認同的就是Douglas Crockford對於jQuery執行完時代任務後剩餘的最後評價:「臃腫 bloated」,以現有版本jQuery 3.6壓縮完後70KB你說臃腫(尚未考慮HTTP傳輸壓縮),要不要先去看一下現在的潮網站一張JPG幾MB?還有各式潮到出水的前端框架又小到哪了?在我的觀點用「輕巧」的jQuery包裝垃圾語言作為標準去操作DOM,避免浪費程式設計師的生命,這事情是剛剛好而已啦。

世界還要花多少時間在整理這堆垃圾?

看到這裡,還不認同我說的話,繼續認同javascript是一個良好語言的人,捫心自問一句話:

在網路上看到的javascript問題,大多都是在問語法怎麼寫,還是在問為何產生的結果是這樣?(以及要怎麼改寫?)
這是一個正常良好的程式語言想要型塑的結果嗎?

雖然可笑,但我依然深深的期盼著世界走向WebConsole時代,再度把瀏覽器當回終端機,把一切運算交回雲端吧。

※ evrone訪問Douglas Crockford的原文備份在此: JSON Creator Douglas Crockford Interview(出處:evrone

JavascriptMustDie CssMustDie HtmlMustDie WebConsoleComing BrowserConsoleComing NewWebConsoleProtocol NewWebConsoleFramework WebConsoleRevolution