JavaScript 現狀:方言篇

Sacha Greif發表於2016-09-11

JavaScript 和其他程式語言有一個很大的不同,它不像單純的一個語言,而像一個由眾多方言組成大家族。

從 2009 年 CoffeeScript 出現開始,近幾年出現了大量基於 JavaScript 語言,或者叫方言,例如 ES6、TypeScript、Elm 等等。它們都有自己的優勢,且都可以被完美編譯成標準 JavaScript。

所以,繼上週的前端框架篇,今天帶來 JavaScript 現狀之方言篇,看一下大家對於 JavaScript 的方言是怎麼選擇的。

宣告:下面的部分結論來自部分資料,這是在我想要展示完整資料時找到的最好的辦法,這便於我分享我的一些想法。

注意:如果你還沒有參與這個調查,現在就來參加吧,可以花十分鐘完成調查然後再回來看這篇文章。

認知度

首先,我想看一下參與問卷調查的人是否知道下面六種語言:

  • 經典的 JavaScript: 97%
  • ES6: 98%
  • CoffeeScript: 99%
  • TypeScript: 98%
  • Elm: 66%
  • ClojureScript: 77%

你可能覺得 100% 的人都應該知道『經典的 JavaScript 』,我想是有人無法抵抗在一個 JavaScript 調查中投『我從來沒有聽說過 JavaScript 』這個選項的強大誘惑吧……

幾乎所有人都知道 ES6、CoffeeScript 和 TypeScript 這三種語言,比較令我驚訝的是 TypeScript 竟然會稍微落後於 ES6 和 CoffeeScript。

另一方面,Elm 和 ClojureScript 得分就要低得多,當然這也有道理,因為它們跟自己的生態環境繫結的比較緊密,也很難在已有的 App 中進行使用。

興趣度

接下來,讓我們一起看一下,哪一種方言吸引新開發者的能力更強一些:

要注意,該表是統計該語言對從未使用過它們的使用者的吸引度,因為只有很少人沒有用過經典 JavaScript,所以『經典 JavaScript 』這一列的數值很低。

ES6的數值很有趣:已有很大比例的使用者在使用 ES6 了,沒有用過的人中的絕大部分(89%)也很想學習它。

TypeScript 和 Elm 的狀態差不多:用過的人不多,但感興趣的比例表現不錯,分別是 53% 和 58%。

如果讓我預測一下,那我覺得 TypeScript 和 Elm 都很難向普通的 JavaScript 開發者講明自己的優勢。畢竟如果開發者只懂 JavaScript 的話,你很難解釋清楚靜態型別的好處。

另外,只有很少開發者用過 CoffeeScript,而且很明顯幾乎沒人想去學。我覺得我該寫一本 12 卷厚的 CoffeeScript 百科全書了……

滿意度

現在是最重要的問題的時間了:有多少開發者用過這些語言,有多少人還想繼續使用這些方言呢?

雖然經典 JavaScript 擁有最多的使用者量,但就滿意度來說 ES6 才是大贏家,而且我想現在已經能安全的說,ES6 可以作為開發 JavaScript App 預設的語言。

TypeScript 和 Elm 有相似的高滿意度,都在 85% 上下。然後,只有可憐的 17% 的開發者會考慮繼續使用 CoffeeScript。

快樂度

最後一個問題,我問大家在用現在的方式寫 JavaScript 時是否感到快樂:

這個問題的答案和上一個問題的滿意度想匹配:平均分達到 3.96 分(1 - 5 分),大家在使用 JavaScript 時候確實是快樂的。

不過很難說高分是因為 JavaScript 最近的一些改進造成的呢,還是發現 JavaScript 可能(僅僅是可能)沒有大家認為的那麼討厭。總之,JavaScript 令人滿意。

總結

如果說上次的贏家是 React 和 Vue,那此次調查的冠軍毫無爭議是 ES6 了。 ES6 並帶來沒有開天闢地的變化,但整個社群都還是很認可當前 JavaScript 演進方向的。

我覺得一年之後我們再來一次這樣的調查,結果會很有趣。同時也可以關注一下 TypeScript、Elm 還有ClojureScript 有沒有繼續進步。

個人認為,當前 JavaScript 大家庭百花齊放的現象還只是一個開始,或許幾年之後 JavaScript 就會變得非常不同了。

結語 & 敬請期待

對於我這樣的調查來說資料越多就意味著資料越準確!越多人參加這個調查,那就越能代表整個 JavaScript 社群。

所以,我十分希望你能幫忙分享這個調查問卷:

另外,如果你想收到我下一個調查結果分析,前往 調查問卷主頁 並留下自己的郵箱吧。


via: https://medium.com/@sachagreif/the-state-of-javascript-javascript-flavors-1e02b0bfefb6

作者:Sacha Greif 譯者:eriwoon 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章