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

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 上的代碼使用情況與討論數量,經過統計分析后排序得出編程語言在未來的采用趨勢。

\"\"

上圖是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\u0026amp;T使用了C++,他在回憶這段經歷時表示:

我在開發C++時,AT\u0026amp;T其實正面臨著困境,AT\u0026amp;T 構建的系統比大多數組織要更復雜,可靠性要求更高,所以我們必須自己來影響市場,制定滿足我們自己需求的標準,否則的話,我們將沒有工具來構建系統。

在我開發C++之前,Ken Thompson 和 Dennis Ritchie 已經開發了 Unix 和 C。AT\u0026amp;T 可能是世界上最大的軟件工具的“民用用戶”,我們使用了更為廣泛的系統:從最小的嵌入式處理器到最大的超級計算機和數據處理系統。所以,我們當時的想法就是這個語言要盡可能多的適用于這些技術文化和平臺。

通用性至關重要,專有特性會被視為限制平臺和供應商的選擇。因此,AT\u0026amp;T 無論是過去,還是現在,一直都是是正式標準的主要支持者(例如,ISO C、ISO C++)。

換句話說,AT\u0026amp;T 通過推動 C++ 來成為行業標準,而C++也通過AT\u0026amp;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 的安全更新應用于商業用途。

\"\"

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

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387954.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387954.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387954.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

sql如何處理null值_如何正確處理SQL中的NULL值

sql如何處理null值前言 (Preface) A friend who has recently started learning SQL asked me about NULL values and how to deal with them. If you are new to SQL, this guide should give you insights into a topic that can be confusing to beginners.最近開始學習SQL的…

名言警句分享

“當你想做一件事,卻無能為力的時候,是最痛苦的。”基拉大和轉載于:https://www.cnblogs.com/yuxijun/p/9986489.html

文字創作類App分享-簡書

今天我用Mockplus做了一套簡書App的原型,這是一款文字創作類的App,用戶通過寫文、點贊等互動行為,提高自己在社區的影響力,打造個人品牌。我運用了Mockplus基礎組件、交互組件、移動組件等多個組件庫,簡單拖拽&#xf…

數據可視化 信息可視化_動機可視化

數據可視化 信息可視化John Snow’s map of Cholera cases near London’s Broad Street.約翰斯諾(John Snow)在倫敦寬街附近的霍亂病例地圖。 John Snow, “the father of epidemiology,” is famous for his cholera maps. These maps represent so many of our aspirations …

android 接聽和掛斷實現方式

轉載▼標簽: android 接聽 掛斷 it 分類: android應用技巧 參考:android 來電接聽和掛斷 支持目前所有版本 注意:android2.3版本及以上不支持下面的自動接聽方法。 (會拋異常:java.lang.Securi…

Eclipse External Tool Configration Notepad++

Location: C:\Program Files\Notepad\notepad.exe Arguments:  ${resource_loc} 轉載于:https://www.cnblogs.com/rgqancy/p/9987610.html

利用延遲關聯或者子查詢優化超多分頁場景

2019獨角獸企業重金招聘Python工程師標準>>> MySQL并不是跳過offset行,而是取offsetN行,然后返回放棄前offset行,返回N行,那當offset 特別大的時候,效率就非常的低下,要么控制返回的總頁數&…

客戶流失_了解客戶流失

客戶流失Big Data Analytics within a real-life example of digital music service數字音樂服務真實示例中的大數據分析 Customer churn is a key predictor of the long term success or failure of a business. It is the rate at which customers are leaving your busine…

Java 動態加載class 并反射調用方法

反射方法: public static void main(String[] args) throws Exception { File filenew File("D:/classtest");//類路徑(包文件上一層) URL urlfile.toURI().toURL(); ClassLoader loadernew URLClassLoader(new URL[]{url});//創…

Nginx:Nginx limit_req limit_conn限速

簡介 Nginx是一個異步框架的Web服務器,也可以用作反向代理,負載均衡器和HTTP緩存,最常用的便是Web服務器。nginx對于預防一些攻擊也是很有效的,例如CC攻擊,爬蟲,本文將介紹限制這些攻擊的方法,可…

快速數據庫框架_快速學習新的數據科學概念的框架

快速數據庫框架重點 (Top highlight)數據科學 (Data Science) Success in data science and software engineering depends on our ability to continuously learn new models and concepts.數據科學和軟件工程的成功取決于我們不斷學習新模型和概念的能力。 Both domains are…

Linux實戰教學筆記12:linux三劍客之sed命令精講

第十二節 linux三劍客之sed命令精講 標簽(空格分隔): Linux實戰教學筆記-陳思齊 ---更多資料點我查看 1,前言 我們都知道,在Linux中一切皆文件,比如配置文件,日志文件,啟動文件等等。…

activiti 為什么需要采用樂觀鎖?

樂觀鎖 為什么需要采用樂觀鎖? 由于activiti一個周期的transaction時間可能比較長,且同一流程實例中存在任務并發執行等場景。設計者將update、insert、delete事務性的操作推遲至command結束時完成,這樣盡量降低鎖沖突的概率,由…

Python實現三級菜單(字典和列表的使用)

menu { 北京: { 海淀: { 五道口: { soho: {}, 網易: {}, google: {} }, 中關村: { 愛奇藝: {}, 汽車之家: {}, 優酷: {} …

停止使用p = 0.05

How many of you use p0.05 as an absolute cut off? p ≥ 0.05 means not significant. No evidence. Nada. And then p < 0.05 great it’s significant. This is a crude way of using p-values, and hopefully I will convince you of this.你們中有多少人使用p 0.05作…

centos7系統根目錄擴容

比如 點擊了后 點擊創建虛擬磁盤 選擇一個 20G 然后啟動虛擬機使用fdisk查看所有的磁盤 看是否新增了一個20G的硬盤 [rootlocalhost ~]# fdisk -l磁盤 /dev/sda&#xff1a;8589 MB, 8589934592 字節&#xff0c;16777216 個扇區 Units 扇區 of 1 * 512 512 bytes 扇區大小(…

instrumentation模擬很多activity的操作

android.app.Instrumentation好像原來是用來做測試的, 可以用來模擬很多activity的操作 主要代碼如下 如果在文本框中輸入24,或者25 點擊按鈕就能模擬音量加減鍵 鍵值可以查看android.view.KeyEvent [java] view plaincopy package com.qefee.testinstrumentation; import…

成像數據更好的展示_為什么更多的數據并不總是更好

成像數據更好的展示Over the past few years, there has been a growing consensus that the more data one has, the better the eventual analysis will be.在過去的幾年中&#xff0c;越來越多的共識是&#xff0c;數據越多&#xff0c;最終的分析就越好。 However, just a…

支付寶架構

支付寶系統架構圖如下&#xff1a; 支付寶架構文檔有兩個搞支付平臺設計的人必須仔細揣摩的要點。 一個是賬務處理。在記賬方面&#xff0c;涉及到內外兩個子系統&#xff0c;外部子系統是單邊賬&#xff0c;滿足線上性能需求&#xff1b;內部子系統走復式記賬&#xff0c;滿足…

怎樣可以跨進程測試

在Android系統下模擬鼠標鍵盤等輸入設備&#xff0c;網絡上資料非常多。但不少是人云亦云&#xff0c;甚至測試都不愿測試一下就抄上來了。這次寫一點體會&#xff0c;當作拋磚引玉。0. 背景知識&#xff1a;眾所周知&#xff0c;Android是將Framework架在Linux之上的系統。Lin…