色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

編程語言真正定義是沒有人再使用它

5RJg_mcuworld ? 來源:互聯網 ? 作者:佚名 ? 2017-10-27 16:24 ? 次閱讀

Java 是這個星球上最為流行的編程語言之一,作為一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言的編程能力很是強大。但這方面的競爭正愈演愈烈。現在的Java 可能遭遇滑鐵盧,我們又將預防它的衰退。

2017 年 9 月的 TIOBE 指數將 Java 列為當月較為流行的語言。其實,它已經名列前三甲很多年了。

Stack Overflow Developer Survey 2017將 Java 列為繼 Javascript 和 SQL 之后第三常用的編程語言(實際上,過去四年它都保持著這名次)。

不說這些結果是如何產生的,亦或者這結果是否反映了現實世界中的情況,我們不能否認的是,Java 在多個環境中仍然是一種流行語言。

但是,Java 總有一天會死。世無定事,沒有什么可以天長地久。

編程語言死亡的真正定義是沒有人再使用它——但這樣的情況很難發生。即使是老朽且不被廣泛使用的語言(例如,你是否聽說過 Modula-3?),仍然在被使用、維護,或者至少會演變成其他的東西。

當然,這是一個漸變的過程,怎么發生的方法不定。從實際出發,假設編程語言在它不再被用于新項目時,就意味著它的死亡,但是它可能依然存活在許多遺留項目上(COBOL 就是一個完美的例子)。

最終這結局也將降臨到 Java 頭上,那么誰會殺死它?

讓我們來分析選項。

在以《What Killed Smalltalk Could Kill Ruby Too》為主題的演講中,Robert “Uncle Bob” MarTIn 說,Smalltalk 被殺的原因是,它太容易造成混亂,并且它的傲慢自大會導致不專業的實踐方法,如缺乏測試驅動開發(TDD)。

在任何語言中你都可以搞得一團亂。當然,在某些語言中,比其他語言更容易導致混亂——例如,在動態類型語言中,我們可以隨時更改變量的類型——但是我們在 Java 中沒有這個問題。

此外,在 Java 社區中很多人采用的良好實踐,比如設計模式和 TDD,有助于我們制作更好的軟件。

所以讓我們來探討另一個選項。

Java 是面向對象的語言。如果其他(新的)范式接管了怎么辦?如果面向對象的編程變得過時了怎么辦?

好吧,這可能性并不大——基本原理已經有很長一段時間沒有真正改變過了。諸如結構化,功能性和面向對象編程的重大創新發生在 20 世紀 50 年代,60 年代以及甚至 70 年代,但從那以后,沒有什么舉足輕重的事發生。

但是,在過去十年中,卻有很多新的語言問世,這些語言有著現代的語法以及新功能的框架。

那么,沒有現代語法和新的功能是否會導致 Java 的死亡呢?

不,我不這么認為。

你還記得(或聽說過)EJB 2.0 及其 EnTIty Beans 嗎?它們很可怕,但是像 Rod Johnson 和 Gavin King 這些 Java 社區的成員卻以 Spring 和 Hibernate 等框架回應。

以類似的方式,雖然 Java 不是一個功能齊全的語言,但是由于有 Vavr 這樣的庫,我們可以使 Java 更加功能化。

我的意思是,Java 缺少的某些東西,有人會通過創建(框架,工具,規范,無論什么)來填補這個空白。

那么 Java 會不會因為另一種編程語言而死亡呢?

我們以 JavaScript 為例。畢竟 JavaScript 正在占領這個世界,對吧?

我們可以在后臺使用 Node.js,類似于移動設備上的 React NaTIve 或 Ionic,我們甚至不必提及在前端的所有競爭選項。

但是,至少在企業軟件中,我沒有看到 JavaScript 將要替代 Java 的趨勢。JavaScript 在企業領域中沒有取得成功的框架或工具。它也沒有與 Java 虛擬機(JVM)相當的東西,Java 虛擬機(JVM)依然是大型和關鍵任務軟件的首選平臺。

那么 Kotlin 呢?

Kotlin 語言首次出現在 2011 年,并且最近 Google 宣布在 Android 上對 Kotlin 提供一流的支持。Kotlin 正在逐漸被知名公司采用,并且不局限于在這些公司的 Android app 上(例子)。

除了現代化的功能,Kotlin 也是一種開放源代碼的語言,它由一家生產最佳 java ide 的公司提供支持。

所以,如果你問我的話,我的回答是,是的,Kotlin 看起來像是(在遙遠的未來)替代 Java 的一個很好的候選者。

當然,Java 也可能被一種或多種語言所替代。

Java遭遇滑鐵盧,誰才是殺死Java的背后殺手?

哪些呢?

我不確定,而且我敢說現在也沒有人知道這個問題的答案。

我所能確定的是,沒有任何語言能夠自主地殺死 Java。不借助任何外力,就此而言。

能夠殺死 Java 的刀子在于它無法滿足市場的需求。

編程語言是構建解決計算機問題的應用程序的工具。如果某編程語言提供抽象、模型、工具和框架,使你可以更有效率或創建比 Java 更高效的代碼,你會選擇哪種語言呢?

即使是在 Java 版本之間,如果讓你在 Java 1.4 和 Java 9 之間進行選擇,那么你會選擇 Java 1.4 嗎?你會放棄用 lambdas 或泛型工作的機會嗎?我不這么認為。你會需要較新版本的功能。

在這些年來,由于已檢查異常、內部類、getter 和 setter 等等方面,Java 被認為是一種冗長又笨拙的語言。直到 Java 7(有些人認為是 Java 8)才開始好轉。

然而,Java 7 于 2011 年發布,比 Java 1.4(2002 年發布)晚了九年。在這個時代,這是不能接受的,并且可能會導致惡性循環。

仔細查看 TIOBE 頁面上的 Java 圖表。盡管 Java 大多數時候位居前三,但有明顯的下降趨勢,表明它正在失去市場份額。這種趨勢在所有語言中都很普遍。最可能的原因是編程語言的數量在不斷增加,應用程序越來越多地被以多種語言編寫。因此,競爭比以往任何時候都要激烈。

如果我們認為其他語言比這種語言更好,那么它就不再受歡迎,我們也不會將這種語言教給新一代的開發人員。

新的教程、課程和書籍將不會再被創造。

社區中的寶貴成員將被其他技術吸引走。

該語言將不會用于新的環境。

將導致減少語言的流行度。

Mark Reinhold,Oracle Java 平臺組首席架構師,提出的新的六個月發布計劃,是向前推進 Java 并邁向未來的重大一步。用他的話說(就特征驅動的版本):

這種方法可以在早期采用者進行徹底的檢查和測試后,以高水平的質量提供大的新功能。然而,不足之處在于,較小的 API、語言和 JVM 功能只有在大功能準備就緒時才能實現。

這是在本世紀之交前后幾十年時間里達成的一個可接受的折中方案,當時 Java 僅與幾個以類似的步伐演進的平臺競爭。然而,如今,Java 在與許多以更快速度發展的平臺一起競爭。

最后一段話很多都是事實。

但是,這不僅僅是 Oracle 的工作,社區也必須保護 Java。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    19

    文章

    2970

    瀏覽量

    104825
  • 編程語言
    +關注

    關注

    10

    文章

    1945

    瀏覽量

    34785
  • 編程語法
    +關注

    關注

    0

    文章

    7

    瀏覽量

    6933

原文標題:Java遭遇滑鐵盧,誰是殺死Java的背后殺手?

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    沒有人玩MC145151的鎖相環?想用它配一塊單聲道的接收IC,有嗎?

    沒有人玩MC145151的鎖相環?想用它配一塊單聲道的接收IC,有嗎?rt本人想搞一個用mc145151p2的鎖相環來配合一個單聲道的接收ic,在加個分頻器,接收調頻廣播有人會知道應該配什么iccxa1238太浪費(雙聲道的)
    發表于 08-26 21:27

    單片機菜鳥學pic,沒有人帶自學行嗎?

    {:soso_e126:}單片機菜鳥學pic,沒有人帶自學行嗎??用什么語言好呢!恐懼中…………
    發表于 11-30 15:53

    沒有人知道怎么學習單片機?

    沒有人知道怎么學習單片機?
    發表于 01-27 23:48

    沒有人有12腳SD卡座的定義

    本帖最后由 eehome 于 2013-1-5 10:05 編輯 有沒有人有12腳SD卡座的定義
    發表于 03-08 11:12

    沒有人知道 怎么下載99SE教程 高清的

    沒有人知道怎么下載99SE教程高清的 有沒有人知道怎么下載99SE教程高清的
    發表于 07-15 13:15

    沒有人有IN5819的元件庫

    沒有人有IN5819的元件庫
    發表于 02-26 11:48

    沒有人知道怎么將PIC的C語言程序轉換成51單片機的程序

    沒有人知道怎么將PIC的C語言程序轉換成51單片機的程序 求助帖
    發表于 11-04 11:28

    我學編程時,當初咋沒有人教過我這些事?

    他們就好了5、總有人會說你不是一個真正的程序員看看這些說法吧!“HTML不是真正編程語言。”“如果你不用vi,你就不是
    發表于 07-24 13:42

    沒有人實現LLDP協調?

    沒有人實現LLDP的和諧? 以上來自于百度翻譯 以下為原文 Has any one implemented LLDP in harmony?
    發表于 02-18 11:52

    沒有人能推薦下能跑linux的開發板,比較下它們之間的優劣,和fpga比較

    沒有人能推薦下能跑linux的開發板,比較下它們之間的優劣,和fpga比較
    發表于 07-15 15:39

    沒有人用USB PIC打印任何東西

    沒有人用USB PIC打印任何東西?或者使用地圖的另一個問題,你可以用它來找出哪些圖片有USB主機外設?
    發表于 05-13 06:05

    怎么論壇上沒有人關注mavlink

    怎么論壇上沒有人關注mavlink的,這個挺好用的!
    發表于 06-03 03:46

    沒有人詳細的可以解釋下C語言單片機程序的組成、存儲與運行STM32實例演示?

    沒有人詳細的可以解釋下C語言單片機程序的組成、存儲與運行STM32實例演示?
    發表于 10-13 09:25

    沒有人可以解釋如何設置RFO寄存器以獲得更好的范圍?

    你好!有沒有人可以解釋我們如何設置這個RFO正常電平定義寄存器以獲得更好的范圍?謝謝你。
    發表于 12-07 09:03

    沒有人機界面的情況下,應如何配置設備?

    我們越來越依賴可穿戴和互聯技術,但在沒有人機界面的情況下,應如何配置設備?
    的頭像 發表于 11-03 11:10 ?536次閱讀
    在<b class='flag-5'>沒有人</b>機界面的情況下,應如何配置設備?
    主站蜘蛛池模板: 亚洲中文字幕欧美自拍一区| 一区二一二| 国产人A片在线乱码视频| 伊人久久大香线蕉综合bd高清| 免费黄色网址在线观看| 国产精品欧美一区二区在线看| 6080伦理久久亚洲精品| 性派对xxxhd| 强奷乱码中文字幕熟女免费| 精品手机在线视频| 国产精品日韩欧美一区二区三区| 3D内射动漫同人资源在线观看| 羞羞麻豆国产精品1区2区3区| 欧美激情一区二区三区四区| 久久re亚洲在线视频| 国产女人与黑人在线播放| 成年无码av片| 99青草青草久热精品视频| 又长又大又粗又硬3p免费视频| 午夜免费啪视频观看视频| 热中文热国产热综合| 美女挑战50厘米长的黑人| 7777色鬼xxxx欧美色夫| 亚洲精品一线二线三线无人区| 色婷婷五月综合中文字幕 | 久久电影精品| 国产色青青视频在线观看| 成人在线免费观看| xxx性欧美在线观看| 99久在线国内在线播放免费观看| 最近中文字幕免费高清MV视频6| 性奴公司 警花| 天天爽夜夜爽8888视频精品| 三级网址在线播放| 色戒西瓜视频| 丝瓜视频樱桃视频在线观看免费| 日本三级床震| 欧美深深色噜噜狠狠yyy| 欧美精品亚洲精品日韩专区一| 美美哒免费影视8| 牢记永久免费网址|