完美世界手游官网隐藏任务 www.gytoi.icu

圖0:當編程語言掌握在企業手中,是生機還是?;??

2019 年 4 月,Java 的收費時代來臨了!

Java 是由 Sun 微系統公司在 1995 年推出的編程語言,2010 年 Oracle 收購了 Sun 之后,Java 的所有者也就自然變成了 Oracle。2019 年,Oracle 宣布將停止 Java 8 更新的免費支持,未來 Java 的更新只適用于已付費的許可證持有者。

Java 收費的消息讓人不得不聯想到這些問題,其它語言是否會和 Java 一樣也加入到“收費大軍”呢?當編程語言掌握在企業手中時,是生機還是?;??

近日,RedMonk 發布了 2019 年第一季度編程語言排行榜,排在前十位的分別是 JavaScript、Java、Python、PHP、C#、C++、CSS、Ruby、C 和 Objective-C。RedMonk 編程語言排行榜一年發布兩次,其主要的排行依據是編程語言在 GitHub 和 Stack Overflow 上的代碼使用情況與討論數量,經過統計分析后排序得出編程語言在未來的采用趨勢。

圖1:當編程語言掌握在企業手中,是生機還是?;??

上圖是 RedMonk 統計的從 2012 年到 2019 年,各個編程語言的排名變化情況。如果仔細觀察分析這張圖片中我們可以發現兩個很有趣的現象。

第一是編程語言的頭部競爭一直都比較平穩,RedMonk 的 Top 5 玩家 JavaScript、Java、PHP、Python 和 C#,自 2014 年開始就沒有變過,就連排位順序也只是出現過幾次很小的變動。

第二是 RedMonk 榜單排在第 10 位到第 20 位的編程語言中,很多上升速度比較快的編程語言背后都有公司支持。

  • 排在第 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 構建的應用程序,Apple 就會從中 30% 的費用。

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

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

圖2:當編程語言掌握在企業手中,是生機還是?;??

(圖源網絡,Oracle 發給用戶的關于 Java 8 收費的提醒郵件)
從 2019 年 4 月起,Oracle 會每季度發布一次 Java 8 的重大修補更新,非公開的首次重大修補更新將于 4 月 16 日發布。在很多企業應用中,Java 8 仍是主力,相信 Oracle 這次的收費舉動,會對眾多企業產生影響。

余下全文(1/3)

本文最初發表在www.infoq.cn,文章內容屬作者個人觀點,不代表本站立場。

分享這篇文章:

請關注我們:

發表評論

電子郵件地址不會被公開。 必填項已用*標注