當程式語言掌握在企業手中,是生機還是危機?
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 這次的收費舉動,將對眾多企業產生影響。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP用於構建動態網站,其核心功能包括:1.生成動態內容,通過與數據庫對接實時生成網頁;2.處理用戶交互和表單提交,驗證輸入並響應操作;3.管理會話和用戶認證,提供個性化體驗;4.優化性能和遵循最佳實踐,提升網站效率和安全性。

PHP是一種服務器端腳本語言,用於動態網頁開發和服務器端應用程序。 1.PHP是一種解釋型語言,無需編譯,適合快速開發。 2.PHP代碼嵌入HTML中,易於網頁開發。 3.PHP處理服務器端邏輯,生成HTML輸出,支持用戶交互和數據處理。 4.PHP可與數據庫交互,處理表單提交,執行服務器端任務。

PHP在過去幾十年中塑造了網絡,並將繼續在Web開發中扮演重要角色。 1)PHP起源於1994年,因其易用性和與MySQL的無縫集成成為開發者首選。 2)其核心功能包括生成動態內容和與數據庫的集成,使得網站能夠實時更新和個性化展示。 3)PHP的廣泛應用和生態系統推動了其長期影響,但也面臨版本更新和安全性挑戰。 4)近年來的性能改進,如PHP7的發布,使其能與現代語言競爭。 5)未來,PHP需應對容器化、微服務等新挑戰,但其靈活性和活躍社區使其具備適應能力。

PHP的核心優勢包括易於學習、強大的web開發支持、豐富的庫和框架、高性能和可擴展性、跨平台兼容性以及成本效益高。 1)易於學習和使用,適合初學者;2)與web服務器集成好,支持多種數據庫;3)擁有如Laravel等強大框架;4)通過優化可實現高性能;5)支持多種操作系統;6)開源,降低開發成本。

在 VS Code 中,可以通過以下步驟在終端運行程序:準備代碼和打開集成終端確保代碼目錄與終端工作目錄一致根據編程語言選擇運行命令(如 Python 的 python your_file_name.py)檢查是否成功運行並解決錯誤利用調試器提升調試效率

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

VS Code 全稱 Visual Studio Code,是一個由微軟開發的免費開源跨平台代碼編輯器和開發環境。它支持廣泛的編程語言,提供語法高亮、代碼自動補全、代碼片段和智能提示等功能以提高開發效率。通過豐富的擴展生態系統,用戶可以針對特定需求和語言添加擴展程序,例如調試器、代碼格式化工具和 Git 集成。 VS Code 還包含直觀的調試器,有助於快速查找和解決代碼中的 bug。

VS Code 擴展存在惡意風險,例如隱藏惡意代碼、利用漏洞、偽裝成合法擴展。識別惡意擴展的方法包括:檢查發布者、閱讀評論、檢查代碼、謹慎安裝。安全措施還包括:安全意識、良好習慣、定期更新和殺毒軟件。