首頁  >  文章  >  當程式語言掌握在企業手中,是生機還是危機?

當程式語言掌握在企業手中,是生機還是危機?

藏色散人
藏色散人轉載
2019-04-03 10:29:113454瀏覽

2019 年 4 月,Java 8 收費時代來臨了! 2019 年 1 月份,Oracle 宣布將停止 Java 8 更新的免費支持,未來 Java 的更新只適用於已付費的授權持有者。近日,Oracle 發送電子郵件通知用戶 Java 8 第一次、收費的季度重大修補更新將在 4 月 16 號發布。

當程式語言掌握在企業手中,是生機還是危機?

產業分析公司Redmonk 最近發布了2019 年第一季程式語言排行榜,排在前十名的分別是JavaScript、Java 、Python、PHP、C#、C 、CSS、Ruby、C 和Objective-C。 RedMonk 程式語言排行榜一年發布兩次,其主要依據程式語言在 GitHub 和 Stack Overflow 上的程式碼使用情況與討論數量,經過統計分析後排序得出程式語言在未來的採用趨勢。

相信很多人在看到 RedMonk 的排行榜時都會有小小的疑惑,這和之前 TIOBE 發布的程式語言排行榜有點不同。 TIOBE 發布的 3 月程式語言 Top 10 分別為:Java、C、Python、Visual Basic .NET、C#、JavaScript、PHP、SQL 和 Objective-C。

當程式語言掌握在企業手中,是生機還是危機?

當程式語言掌握在企業手中,是生機還是危機?

但是,如果仔細比較這兩份程式語言排行榜就會發現它們的 Top10 中有 7 個程式語言是相同,只是排名略有不同。事實上,程式語言的頭部競爭一直都比較平穩,RedMonk 的Top 5 玩家JavaScript、Java、PHP、Python 和C#,自2014 年開始就沒有變過,就連排位順序也只是出現過幾次很小的變動。

除去頭部玩家,把觀察範圍擴大到程式語言 Top 20 中,大家還會發現一個更有趣的現象,那就是上升速度很快的程式語言背後都有公司支援。以RedMonk 名單為例,我們來看看這些「有背景」的程式語言:

• 排在第10 位的Objecr-C:Object-C 最初是由Brad Cox 和Tom Love 開發的,但後來被Apple「收編」了。

• 排在第 11 位的 Swift:Swift 是 Apple 2014 年發布的新開發語言,易於學習。

• 排在第 12 位元的 TypeScript:TypeScript 最初是微軟的一個內部項目,2014 年微軟正式發布該語言。

• 排在第 15 位的 Go:Go 是由 Google 員工 Robert Griesemer、Rob Pike 和 Ken Thompson 於 2007 年開發的,2009 年開源,并快速成為了構建雲端應用程式的核心語言。

• 排在第 20 位的 Kotlin:Kotlin 最初是由 JetBrains 開發的,2017 年被 Google「收編」用於 Android 開發。

其實,早期的 Web 語言基本上是由駭客個人編寫的,例如 PHP 是 Rasmus Lerdorf 編寫的, Python 是 Guido Van Rossum 編寫的。 20 世紀 90 年代末是互聯網發展的黃金時代,當時湧現出的大量草根項目和小型項目都在後來發展稱了大型項目。以程式語言為例,當時人們不再使用 C 語言來建立 CGI Web 應用,而是積極採用 PHP、JavaScript 等其它語言。

「C 之父」 Bjarne Stroustrup 在攻讀博士學位時就開始研究C ,然而直到1983 年,他才在AT&T 使用了C ,他在回憶這段經歷時表示:

我在開發C 時,AT&T 其實正面臨著困境,AT&T 建構的系統比大多數組織更複雜,可靠性要求更高,所以我們必須自己來影響市場,制定滿足我們自己需求的標準,否則的話,我們將沒有工具來建構系統。在我開發 C 之前,Ken Thompson 和 Dennis Ritchie 已經開發了 Unix 和 C。 AT&T 可能是世界上最大的軟體工具的“民用用戶”,我們使用了更廣泛的系統:從最小的嵌入式處理器到最大的超級電腦和資料處理系統。所以,我們當時的想法就是這個語言要盡可能多的適用於這些科技文化和平台。通用性至關重要,專有特性會被視為限制平台和供應商的選擇。因此,AT&T 無論是過去,還是現在,一直都是是正式標準的主要支持者(例如,ISO C、ISO C )。換句話說,AT&T 透過推動 C 來成為行業標準,而 C 也透過 AT&T 從博士生心血來潮的作品成為了一個行業規範。

但當時間行進至 21 世紀,這種情況就改變了。如果說「網路 」初期是惠及了民眾,那麼當下一波浪潮行動應用程式到來時,主導者就變成了企業。語言規則主要由 Google、Apple 和 Microsoft 主導。

許多新出現的語言一開始就是由企業贊助的,例如Microsoft 的CNo,這些新的程式語言汲取了過去的經驗教訓,在預設情況下,每種新語言都是開源的,也不會再有一家企業試圖用專有語言來建立專有程式的情況了。當然,也有一些原本由駭客開發的語言被企業“收編”,例如 Object-C。

在這段時期,網路和應用程式的未來大部分是建立在企業的現金上,而不是基於社區動力。那麼,這種情況是好是壞呢?

從上文不難看出,當下流行的程式語言中有很大一部分背後是有企業投資的。企業投資的好處是資金充裕,程式語言能持續穩定的發展,不會突然夭折。但也有弊端,就是企業可能會從中獲取利潤,例如 Swift,每有一個使用 Swift 建立的應用程序,App 就會從中 30% 的費用。

更恐怖的是,企業主導程式語言有可能會導致生態系統鎖定,而開源程式語言則是形成這種鎖定的重要環節。一旦企業的生態系統和應用程式重度依賴某種程式語言,且無法輕易被替換時,那麼就很可能會被該程式語言背後的公司牽著鼻子走,就像之前Oracle 在資料庫領域的「廠商鎖定」和IBM 在大機領域的「廠商鎖定」。

程式語言的「廠商鎖定」並不是遠在天邊,就在不久之後,Java 8 更新就要開始收費了! 2019 年 1 月份,Oracle 宣布將停止 Java 8 更新的免費支持,未來 Java 的更新只適用於已付費的許可證持有者,無有效許可證的用戶不能將 Java 8 的安全更新應用於商業用途。

當程式語言掌握在企業手中,是生機還是危機?

當程式語言掌握在企業手中,是生機還是危機?

(圖源網絡,Oracle 發給使用者的關於Java 8 收費的提醒郵件)

從2019 年4 月起,Oracle每季發布一次Java 8 的重大修補更新,非公開的首次重大修補更新將於4 月16 日發布。在許多企業應用程式中,Java 8 仍是主力,相信 Oracle 這次的收費舉動,將對眾多企業產生影響。

陳述:
本文轉載於:toutiao.com。如有侵權,請聯絡admin@php.cn刪除