Node.js能讓Javascript寫後端,為啥不讓Python寫前端?

池建強發表於2012-08-29

問:現在已經可以用javascript(nodejs)寫服務端的程式碼,但如果是為了語言一致性的話,為什麼沒人去做過python在瀏覽器端的實現呢?

答:這個問題其實與Python沒半毛錢關係,比如可以把最後一句改成為什麼沒人去做ruby在瀏覽器端的實現呢?還可以改成為什麼沒人去做java在瀏覽器端的實現呢?等等。

從歷史的角度來看,JavaScript的發展一直與瀏覽器密不可分,最初由網景公司的Brendan Eich設計,叫LiveScript,後與Sun公司合作,改為JavaScript。後來Ecma國際以JavaScript為基礎制定了ECMAScript標準。現在大家知道了制定標準的才是最牛B的了吧。

再後來微軟的IE幹掉了NetScape後,以為自己已經無敵於天下了,開始搞VBScript,JScript,但是大家看微軟霸佔著瀏覽器這個小清新非常的不爽,Firefox、Chrome、Safari等瀏覽器開始出現,Google的V8和Apple的WebKit等牛引擎和框架出來後,JavaScript在瀏覽器端越發如魚得水,而且隨著V8和Node.js的出現開始侵入伺服器端。

說到微軟的IE,這裡還要插一段,剛剛看到@李鬆峰老師翻譯了一篇叫做《Internet Explorer的創新》的文章,我們不得不說IE是一個劃時代的產品,而且當年微軟在網際網路領域具備得天獨厚的優勢,Windows獨霸天下、捆綁瀏覽器、MSN等,網際網路領域似乎要延續微軟在PC端的輝煌,一切那麼順理成章,但是2000年的微軟市值5000多億,已經是個巨無霸公司,公司政治和權利的影響取代了技術。比如MSN Explorer,當年我們這些菜鳥怎麼也想不明白微軟不好好升級IE,弄出這麼個華而不實的東西幹嘛;比如2000年比爾蓋茲啟動的網際網路計劃,由於Windows之父Jim Allchin的阻止而擱淺;比如遲遲不做搜尋;比如Vista的推出用了5年還是個爛貨......曾經有一個機會擺在微軟面前,它沒有珍惜,而世界也因此更加五彩斑斕......所有慵懶的大公司,顫抖吧!

好吧,言歸正傳,那為啥JavaScript可以寫伺服器端程式,Python等語言不能去搞前端呢?其實還是標準決定一切。

使用Node.js,開發者面對的是自己開發環境,你只要把自己面對的環境伺候好了就可以了,因為Node.js本身就是建立在標準之上(V8)的東西,而且,Node.js確實簡化了伺服器端的非同步IO和事件驅動開發,這是它最大的意義。如果只是能在後端執行而毫無特性,估計這個技術的生命力不會長久。

但想讓類似Python的語言在前端執行,你就得搞定所有瀏覽器和瀏覽器廠商。如果有個引擎能搞定Python語言解析,同時又得到各大瀏覽器廠商的支援,那這種可能性也不是沒有。

相關文章