自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JavaScript大神:我們能對 JavaScript 做的最好事情就是讓它退役!

開發(fā) 前端
JavaScript各種各樣的問題大家應該深有體會了,但是今年Stackoverflow的調(diào)查顯示,使用JavaScript的程序員高達65%,遠超其他語言,雄踞第一。

?“我們今天可以對JavaScript做的最好的事情就是讓它退役!”

大神總是能說出讓人印象深刻的話,上面這句話來自JSON和JSLint的作者Douglas Crockford。

圖片

Douglas還寫過兩本非常知名的書《How JavaScript Works》和《JavaScript語言精粹》,前端的同學應該讀過。

照理說,這么一位JavaScript領域的領軍人物應該是JS的鐵桿,但是他卻說:

“20年前,我是JavaScript的少數(shù)狂熱支持者,嵌套函數(shù)和動態(tài)對象的組合非常出色,我花了10年時間試圖糾正他的缺陷,在ES5上取得了小小的成功。

但是從那時起,人們對進一步擴展JS產(chǎn)生了濃厚的興趣,而不是使其變得更好。 

所以JavaScript和其他恐龍語言一樣,已經(jīng)成為進步的阻礙,我們應該關(guān)注下一門語言,它看起來應該更像E而不是JavaScript?!?/p>

JavaScript各種各樣的問題大家應該深有體會了,但是今年Stackoverflow的調(diào)查顯示,使用JavaScript的程序員高達65%,遠超其他語言,雄踞第一。

圖片

可能很多人并不知道,JavaScript是Brendan Eich僅僅花了10天突擊出的語言,可以說是幾門語言的混合體:

1.借鑒C的語法

2.借鑒Java的數(shù)據(jù)類型

3.借鑒Scheme語言,將函數(shù)提升到"第一等公民"(first class)的地位;

4.借鑒Self語言,使用基于原型(prototype)的繼承機制。

所以Douglas Crockford說JavaScript是一個披著C語言外衣的Lisp。

Brendan自己也承認,這是一項匆忙的工作,設計有錯誤,有缺陷,尤其是名稱,完全是謊言,和Java一點關(guān)系都沒有。

JavaScript為什么能成長為前端之王呢?

在JavaScript發(fā)展過程中其實遇到過很多挑戰(zhàn):

VBScript:在90年代,這是第一個同時支撐服務器端編程和瀏覽器端編程的語言,可以在服務器端寫ASP網(wǎng)頁,在瀏覽器端弄動態(tài)效果,微軟陣營的程序員很喜歡。

但是它屬于微軟,只能跑在Windows和IE中,沒有其他瀏覽器支持。

而JavaScript早在1996年就開始標準化,1997年ECMAScript第一版就發(fā)布了,標準化后瀏覽器廠商拋棄了后顧之憂,放心使用。

JScript :在IE和網(wǎng)景大戰(zhàn)時,微軟對 Navigator解釋器進行了逆向工程以創(chuàng)建自己的解釋器,稱為JScript。

隨著IE擊敗網(wǎng)景,市場占有率達到95%,JScript也達到巔峰。

但是微軟并沒有把JScript給標準化,隨后IE不思進取,故步自封,被Firefox, Chrome等超越,JScript也變得無人問津。

Sun的Applet和微軟的ActiveX:它們倆由于安全問題、安裝部署問題、用戶體驗問題一直沒能起飛。 

Macromedia的Flash :早期極其火爆,技術(shù)漏洞多,不安全,無法支持移動設備,最終敗給了JS+HTML5

微軟的Silverlight:本來是要和Flash競爭的,后來Flash都不行了,所以....

除了技術(shù)缺陷,這些挑戰(zhàn)者技術(shù)都是廠商鎖定的,都需要學習一門新語言,Applet、Flash、Sliverlight還需要在瀏覽器中安裝個“插件”才能運行,這就太不方便了!

反觀JavaScript,一開始就標準化,被所有瀏覽器支持。雖然是披著C語言外衣的Lisp,但是它的C語言外衣極其簡單,任何程序員都可以輕松寫幾行JavaScript,在瀏覽器中搞點兒動態(tài)效果(雖然代碼質(zhì)量可能不咋地)。

2008年,Google給JavaScript添的那把柴火非常關(guān)鍵。 

GMail , GMap等復雜Web應用的不斷成功,讓Google看到了Web應用和桌面競爭的可能性,它開發(fā)了V8引擎,驚人地提升了JavaScript的執(zhí)行速度。

2009 年,Ryan Dahl 推出了 Node.js,使 V8 能夠在瀏覽器之外運行,JavaScript一下子把領地拓展到了后端領域。

JavaScript自身似乎并不努力,但是各個廠商必須要尋找一個公共的、不會被某家控制的瀏覽器端編程語言,找來找去,也就是標準化的JavaScript能滿足要求了。

JavaScript真的應該退役了嗎?

精通JavaScript的大神雖然都發(fā)出了呼吁,但是JavaScript無法退役,它還要在多條道路上繼續(xù)狂奔。

在軟件業(yè),最厲害的就是生態(tài)系統(tǒng),這玩意兒一旦建立,很難攻破。

JavaScript經(jīng)過20多年的發(fā)展,生態(tài)已經(jīng)極其完善了。

強如微軟的TypeScript,也只能把自己最后編譯成JavaScript來執(zhí)行,而不能另起爐灶。

瀏覽器廠商之間也會互相競爭,阻撓某一方發(fā)明的更好的新語言。

Stackoverflow聯(lián)合創(chuàng)始人Jeff Atwood曾經(jīng)預言:任何可以用 JavaScript 來寫的應用,最終都將用 JavaScript 來寫。

在某種程度上,他確實是對的,JavaScript現(xiàn)在可以寫網(wǎng)頁,寫App,寫小程序,寫后端,寫桌面程序,甚至IoT應用。

我們都知道JavaScript還很丑陋,但是沒辦法,只要瀏覽器存在,它就會存在,直到下一次重大技術(shù)變革的發(fā)生。

參考資料:

https://www.reddit.com/r/programming/comments/whipmk/the_best_thing_we_can_do_today_to_javascript_is/

https://devclass.com/2022/08/04/retire_javascript_says-json-creator-douglas-crockford/

https://evrone.com/douglas-crockford-interview?

責任編輯:武曉燕 來源: 碼農(nóng)翻身
相關(guān)推薦

2015-06-02 14:10:23

創(chuàng)業(yè)事情優(yōu)先級

2024-10-09 14:45:41

2012-03-23 14:38:31

JavaScript

2021-03-16 14:49:36

大數(shù)據(jù)手機隱私

2018-11-08 15:30:04

JavaScriptES6異步

2019-08-01 10:44:23

JavaScript框架內(nèi)存

2016-02-19 16:11:54

數(shù)據(jù)科學家數(shù)據(jù)科學大數(shù)據(jù)

2022-01-24 14:28:41

RailsJavaScriptWebpack

2016-08-10 12:52:31

2012-02-24 09:25:20

JavaScript

2020-11-11 08:22:40

前端開發(fā)JavaScript

2011-05-19 09:10:17

JavaScriptLinux

2014-06-25 09:15:33

JavaScript 編輯器

2023-10-10 16:20:38

JavaScript代碼技巧

2011-06-27 08:35:28

2011-05-27 17:06:11

SEO

2009-07-10 17:15:13

Javascript

2021-06-17 07:45:35

Javascript 技巧效率

2021-09-06 08:26:08

JavaScript數(shù)獨 LeetCode

2020-11-23 06:59:21

JavaScript雪花算法
點贊
收藏

51CTO技術(shù)棧公眾號