chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

編程語(yǔ)言真正定義是沒(méi)有人再使用它

5RJg_mcuworld ? 來(lái)源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-10-27 16:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Java 是這個(gè)星球上最為流行的編程語(yǔ)言之一,作為一門(mén)面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語(yǔ)言的編程能力很是強(qiáng)大。但這方面的競(jìng)爭(zhēng)正愈演愈烈?,F(xiàn)在的Java 可能遭遇滑鐵盧,我們又將預(yù)防它的衰退。

2017 年 9 月的 TIOBE 指數(shù)將 Java 列為當(dāng)月較為流行的語(yǔ)言。其實(shí),它已經(jīng)名列前三甲很多年了。

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

不說(shuō)這些結(jié)果是如何產(chǎn)生的,亦或者這結(jié)果是否反映了現(xiàn)實(shí)世界中的情況,我們不能否認(rèn)的是,Java 在多個(gè)環(huán)境中仍然是一種流行語(yǔ)言。

但是,Java 總有一天會(huì)死。世無(wú)定事,沒(méi)有什么可以天長(zhǎng)地久。

編程語(yǔ)言死亡的真正定義是沒(méi)有人再使用它——但這樣的情況很難發(fā)生。即使是老朽且不被廣泛使用的語(yǔ)言(例如,你是否聽(tīng)說(shuō)過(guò) Modula-3?),仍然在被使用、維護(hù),或者至少會(huì)演變成其他的東西。

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

最終這結(jié)局也將降臨到 Java 頭上,那么誰(shuí)會(huì)殺死它?

讓我們來(lái)分析選項(xiàng)。

在以《What Killed Smalltalk Could Kill Ruby Too》為主題的演講中,Robert “Uncle Bob” MarTIn 說(shuō),Smalltalk 被殺的原因是,它太容易造成混亂,并且它的傲慢自大會(huì)導(dǎo)致不專(zhuān)業(yè)的實(shí)踐方法,如缺乏測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)。

在任何語(yǔ)言中你都可以搞得一團(tuán)亂。當(dāng)然,在某些語(yǔ)言中,比其他語(yǔ)言更容易導(dǎo)致混亂——例如,在動(dòng)態(tài)類(lèi)型語(yǔ)言中,我們可以隨時(shí)更改變量的類(lèi)型——但是我們?cè)?Java 中沒(méi)有這個(gè)問(wèn)題。

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

所以讓我們來(lái)探討另一個(gè)選項(xiàng)。

Java 是面向?qū)ο蟮恼Z(yǔ)言。如果其他(新的)范式接管了怎么辦?如果面向?qū)ο蟮木幊套兊眠^(guò)時(shí)了怎么辦?

好吧,這可能性并不大——基本原理已經(jīng)有很長(zhǎng)一段時(shí)間沒(méi)有真正改變過(guò)了。諸如結(jié)構(gòu)化,功能性和面向?qū)ο缶幊痰闹卮髣?chuàng)新發(fā)生在 20 世紀(jì) 50 年代,60 年代以及甚至 70 年代,但從那以后,沒(méi)有什么舉足輕重的事發(fā)生。

但是,在過(guò)去十年中,卻有很多新的語(yǔ)言問(wèn)世,這些語(yǔ)言有著現(xiàn)代的語(yǔ)法以及新功能的框架。

那么,沒(méi)有現(xiàn)代語(yǔ)法和新的功能是否會(huì)導(dǎo)致 Java 的死亡呢?

不,我不這么認(rèn)為。

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

以類(lèi)似的方式,雖然 Java 不是一個(gè)功能齊全的語(yǔ)言,但是由于有 Vavr 這樣的庫(kù),我們可以使 Java 更加功能化。

我的意思是,Java 缺少的某些東西,有人會(huì)通過(guò)創(chuàng)建(框架,工具,規(guī)范,無(wú)論什么)來(lái)填補(bǔ)這個(gè)空白。

那么 Java 會(huì)不會(huì)因?yàn)榱硪环N編程語(yǔ)言而死亡呢?

我們以 JavaScript 為例。畢竟 JavaScript 正在占領(lǐng)這個(gè)世界,對(duì)吧?

我們可以在后臺(tái)使用 Node.js,類(lèi)似于移動(dòng)設(shè)備上的 React NaTIve 或 Ionic,我們甚至不必提及在前端的所有競(jìng)爭(zhēng)選項(xiàng)。

但是,至少在企業(yè)軟件中,我沒(méi)有看到 JavaScript 將要替代 Java 的趨勢(shì)。JavaScript 在企業(yè)領(lǐng)域中沒(méi)有取得成功的框架或工具。它也沒(méi)有與 Java 虛擬機(jī)(JVM)相當(dāng)?shù)臇|西,Java 虛擬機(jī)(JVM)依然是大型和關(guān)鍵任務(wù)軟件的首選平臺(tái)。

那么 Kotlin 呢?

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

除了現(xiàn)代化的功能,Kotlin 也是一種開(kāi)放源代碼的語(yǔ)言,它由一家生產(chǎn)最佳 java ide 的公司提供支持。

所以,如果你問(wèn)我的話,我的回答是,是的,Kotlin 看起來(lái)像是(在遙遠(yuǎn)的未來(lái))替代 Java 的一個(gè)很好的候選者。

當(dāng)然,Java 也可能被一種或多種語(yǔ)言所替代。

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

哪些呢?

我不確定,而且我敢說(shuō)現(xiàn)在也沒(méi)有人知道這個(gè)問(wèn)題的答案。

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

能夠殺死 Java 的刀子在于它無(wú)法滿足市場(chǎng)的需求。

編程語(yǔ)言是構(gòu)建解決計(jì)算機(jī)問(wèn)題的應(yīng)用程序的工具。如果某編程語(yǔ)言提供抽象、模型、工具和框架,使你可以更有效率或創(chuàng)建比 Java 更高效的代碼,你會(huì)選擇哪種語(yǔ)言呢?

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

在這些年來(lái),由于已檢查異常、內(nèi)部類(lèi)、getter 和 setter 等等方面,Java 被認(rèn)為是一種冗長(zhǎng)又笨拙的語(yǔ)言。直到 Java 7(有些人認(rèn)為是 Java 8)才開(kāi)始好轉(zhuǎn)。

然而,Java 7 于 2011 年發(fā)布,比 Java 1.4(2002 年發(fā)布)晚了九年。在這個(gè)時(shí)代,這是不能接受的,并且可能會(huì)導(dǎo)致惡性循環(huán)。

仔細(xì)查看 TIOBE 頁(yè)面上的 Java 圖表。盡管 Java 大多數(shù)時(shí)候位居前三,但有明顯的下降趨勢(shì),表明它正在失去市場(chǎng)份額。這種趨勢(shì)在所有語(yǔ)言中都很普遍。最可能的原因是編程語(yǔ)言的數(shù)量在不斷增加,應(yīng)用程序越來(lái)越多地被以多種語(yǔ)言編寫(xiě)。因此,競(jìng)爭(zhēng)比以往任何時(shí)候都要激烈。

如果我們認(rèn)為其他語(yǔ)言比這種語(yǔ)言更好,那么它就不再受歡迎,我們也不會(huì)將這種語(yǔ)言教給新一代的開(kāi)發(fā)人員。

新的教程、課程和書(shū)籍將不會(huì)再被創(chuàng)造。

社區(qū)中的寶貴成員將被其他技術(shù)吸引走。

該語(yǔ)言將不會(huì)用于新的環(huán)境。

將導(dǎo)致減少語(yǔ)言的流行度。

Mark Reinhold,Oracle Java 平臺(tái)組首席架構(gòu)師,提出的新的六個(gè)月發(fā)布計(jì)劃,是向前推進(jìn) Java 并邁向未來(lái)的重大一步。用他的話說(shuō)(就特征驅(qū)動(dòng)的版本):

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

這是在本世紀(jì)之交前后幾十年時(shí)間里達(dá)成的一個(gè)可接受的折中方案,當(dāng)時(shí) Java 僅與幾個(gè)以類(lèi)似的步伐演進(jìn)的平臺(tái)競(jìng)爭(zhēng)。然而,如今,Java 在與許多以更快速度發(fā)展的平臺(tái)一起競(jìng)爭(zhēng)。

最后一段話很多都是事實(shí)。

但是,這不僅僅是 Oracle 的工作,社區(qū)也必須保護(hù) Java。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2992

    瀏覽量

    114832
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1957

    瀏覽量

    38388
  • 編程語(yǔ)法
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    7015

原文標(biāo)題:Java遭遇滑鐵盧,誰(shuí)是殺死Java的背后殺手?

文章出處:【微信號(hào):mcuworld,微信公眾號(hào):嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    沒(méi)有人玩MC145151的鎖相環(huán)?想用它配一塊單聲道的接收IC,有嗎?

    沒(méi)有人玩MC145151的鎖相環(huán)?想用它配一塊單聲道的接收IC,有嗎?rt本人想搞一個(gè)用mc145151p2的鎖相環(huán)來(lái)配合一個(gè)單聲道的接收ic,在加個(gè)分頻器,接收調(diào)頻廣播有人會(huì)知道應(yīng)該配什么iccxa1238太浪費(fèi)(雙聲道的)
    發(fā)表于 08-26 21:27

    單片機(jī)菜鳥(niǎo)學(xué)pic,沒(méi)有人帶自學(xué)行嗎?

    {:soso_e126:}單片機(jī)菜鳥(niǎo)學(xué)pic,沒(méi)有人帶自學(xué)行嗎??用什么語(yǔ)言好呢!恐懼中…………
    發(fā)表于 11-30 15:53

    沒(méi)有人有12腳SD卡座的定義

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

    沒(méi)有人知道 怎么下載99SE教程 高清的

    沒(méi)有人知道怎么下載99SE教程高清的 有沒(méi)有人知道怎么下載99SE教程高清的
    發(fā)表于 07-15 13:15

    沒(méi)有人有IN5819的元件庫(kù)

    沒(méi)有人有IN5819的元件庫(kù)
    發(fā)表于 02-26 11:48

    沒(méi)有人知道怎么將PIC的C語(yǔ)言程序轉(zhuǎn)換成51單片機(jī)的程序

    沒(méi)有人知道怎么將PIC的C語(yǔ)言程序轉(zhuǎn)換成51單片機(jī)的程序 求助帖
    發(fā)表于 11-04 11:28

    沒(méi)有人有封裝教程啊,請(qǐng)教

    沒(méi)有人有封裝教程啊,請(qǐng)教
    發(fā)表于 05-03 20:42

    我學(xué)編程時(shí),當(dāng)初咋沒(méi)有人教過(guò)我這些事?

    他們就好了5、總有人會(huì)說(shuō)你不是一個(gè)真正的程序員看看這些說(shuō)法吧!“HTML不是真正編程語(yǔ)言?!薄叭绻悴挥胿i,你就不是
    發(fā)表于 07-24 13:42

    沒(méi)有人實(shí)現(xiàn)LLDP協(xié)調(diào)?

    沒(méi)有人實(shí)現(xiàn)LLDP的和諧? 以上來(lái)自于百度翻譯 以下為原文 Has any one implemented LLDP in harmony?
    發(fā)表于 02-18 11:52

    沒(méi)有人能推薦下能跑linux的開(kāi)發(fā)板,比較下它們之間的優(yōu)劣,和fpga比較

    沒(méi)有人能推薦下能跑linux的開(kāi)發(fā)板,比較下它們之間的優(yōu)劣,和fpga比較
    發(fā)表于 07-15 15:39

    沒(méi)有人用USB PIC打印任何東西

    沒(méi)有人用USB PIC打印任何東西?或者使用地圖的另一個(gè)問(wèn)題,你可以用它來(lái)找出哪些圖片有USB主機(jī)外設(shè)?
    發(fā)表于 05-13 06:05

    怎么論壇上沒(méi)有人關(guān)注mavlink

    怎么論壇上沒(méi)有人關(guān)注mavlink的,這個(gè)挺好用的!
    發(fā)表于 06-03 03:46

    沒(méi)有人詳細(xì)的可以解釋下C語(yǔ)言單片機(jī)程序的組成、存儲(chǔ)與運(yùn)行STM32實(shí)例演示?

    沒(méi)有人詳細(xì)的可以解釋下C語(yǔ)言單片機(jī)程序的組成、存儲(chǔ)與運(yùn)行STM32實(shí)例演示?
    發(fā)表于 10-13 09:25

    沒(méi)有人可以解釋如何設(shè)置RFO寄存器以獲得更好的范圍?

    你好!有沒(méi)有人可以解釋我們?nèi)绾卧O(shè)置這個(gè)RFO正常電平定義寄存器以獲得更好的范圍?謝謝你。
    發(fā)表于 12-07 09:03

    沒(méi)有人機(jī)界面的情況下,應(yīng)如何配置設(shè)備?

    我們?cè)絹?lái)越依賴可穿戴和互聯(lián)技術(shù),但在沒(méi)有人機(jī)界面的情況下,應(yīng)如何配置設(shè)備?
    的頭像 發(fā)表于 11-03 11:10 ?962次閱讀
    在<b class='flag-5'>沒(méi)有人</b>機(jī)界面的情況下,應(yīng)如何配置設(shè)備?