中国体彩网唯一官网
首頁 > 頭條 > 正文

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

轉載 2019-04-03 10:29:11 0 1441
贊助會員專享特權
2019 年 4 月,Java 8 收費時代到來了!2019 年 1 月份,Oracle 宣布將停止 Java 8 更新的免費支持,未來 Java 的更新只適用于已付費的許可證持有者。近日,Oracle 發送郵件通知用戶 Java 8 第一次、收費的季度重大修補更新將在 4 月 16 號發布。

6aef56731300b772c058b764e496c97.png

行業分析公司 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。

5d833c4b503aa9f418bdeb8e30c6c36.png

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

但是,如果仔細對比這兩份編程語言排行榜就會發現它們的 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 的安全更新應用于商業用途。

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

0f9f4a0c1cebee3ac410f4610766327.png

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

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

php中文網最新課程二維碼
  • 相關標簽:編程語言 Java Python PHP
  • 本文轉載于:InfoQ,如有侵犯,請聯系刪除
  • 相關文章


  • Java、JavaScript、PHP、Python這些編程語言分別用來開發什么?
  • Java基本理論及編程語言分類
  • 什么是編程語言
  • 腳本語言和編程語言有什么區別
  • 當編程語言掌握在企業手中,是生機還是危機?
  • 網友評論

    文明上網理性發言,請遵守 新聞評論服務協議

    我要評論
    獨孤九賤(5)_ThinkPHP5視頻教程

    獨孤九賤(5)_ThinkPHP5視頻教程

    ThinkPHP是國內最流行的中文PHP開發框架,也是您Web項目的最佳選擇。《php.cn獨孤九賤(5)-ThinkPHP5視頻教程》課程以ThinkPHP5最新版本為例,從最基本的框架常識開始,將...

    獨孤九賤(4)_PHP視頻教程

    獨孤九賤(4)_PHP視頻教程

    江湖傳言:PHP是世界上最好的編程語言。真的是這樣嗎?這個梗究竟是從哪來的?學會本課程,你就會明白了。 PHP中文網出品的PHP入門系統教學視頻,完全從初學者的角度出發,絕不玩虛的,一切以實用、有用...

    獨孤九賤(1)_HTML5視頻教程

    獨孤九賤(1)_HTML5視頻教程

    《php.cn原創html5視頻教程》課程特色:php中文網原創幽默段子系列課程,以惡搞,段子為主題風格的php視頻教程!輕松的教學風格,簡短的教學模式,讓同學們在不知不覺中,學會了HTML知識。 ...

    ThinkPHP5實戰之[教學管理系統]

    ThinkPHP5實戰之[教學管理系統]

    本套教程,以一個真實的學校教學管理系統為案例,手把手教會您如何在一張白紙上,從零開始,一步一步的用ThinkPHP5框架快速開發出一個商業項目。

    PHP入門視頻教程之一周學會PHP

    PHP入門視頻教程之一周學會PHP

    所有計算機語言的學習都要從基礎開始,《PHP入門視頻教程之一周學會PHP》不僅是PHP的基礎部分更主要的是PHP語言的核心技術,是學習PHP必須掌握的內容,任何PHP項目的實現都離不開這部分的內容,通...

    作者信息

    藏色散人

    好好學習天天向上!

    最近文章
    html cite標簽怎么用 939
    html center標簽怎么用 916
    html caption標簽怎么用 608

    相關視頻教程

  • PHP語法基礎與數據庫詳解教程 PHP語法基礎與數據庫詳解教程
  • PHP數據庫編程零基礎入門到精通 PHP數據庫編程零基礎入門到精通
  • 零基礎入門Python項目實戰 零基礎入門Python項目實戰
  • python編程入門系列圖文教程 python編程入門系列圖文教程
  • 零基礎入門Python項目實戰 零基礎入門Python項目實戰
  • 相關視頻章節

    中国体彩网唯一官网