1. 您現在的位置:首頁行業資訊

          一直被唱衰的 Java 沒“死”,卻慘遭“忽視”!--皇家娱乐

          CSDN 編者按】隨着大數據人工智能的潮流,Python 已經被炒作的天翻地覆,其學習用戶數量逐漸上升,許多人暗自擔心 Java 技術是否會在未來幾年就沉寂了?對此你怎麼看呢?
          作者 | Jackson Roberts
          譯者 | 彎月
          如今,雖然 Java 仍然主導着企業級的應用程序,但是 Java 卻鮮有炒作。尤其是對於編程新手來說,由於 Java 缺乏大肆宣傳,所以會被很多人忽視。
          年輕/天真的開發人員(包括我自己)經常會被新語言和新工具所迷惑,有時甚至以犧牲生產力和理智爲代價。我曾經對 TypeScript 萬分癡迷,也曾認爲 Node.js 生態系統是有史以來最酷的技術。我喜歡轉譯的代碼、實時調試、龐大的程序包庫,甚至是支離破碎的構建系統。而當我嘗試在實際生產中使用這些技術,並與經驗豐富的工程師交談時,這些技術身上的魔力瞬間消散了。
          另外,我也曾對 JS 生態系統也充滿了非常不理智的熱愛,因爲 JS 技術非常熱門,它有炒作。但最後卻發現,現實遠不及我的期望。如今,我在 Java 的工作中品嚐到了曾經在 JS 身上求而不得的美好體驗。驀然回首,發現自己以前完全被炒作牽着鼻子走,差點錯過了 Java,我不禁有點失望。Java 編程十分有意思、效率很高,但新手開發人員卻對這個“老傢夥”退避三舍,這對 Java 來說太不公平了。
          Java 的偉大之處
          我個人感覺,編寫 Java 程序的感覺非常好。這在很大程度上歸功於 JetBrains 在 IntelliJ IDEA 中付出的心血。自動補齊、快速跳轉到定義、查找調用等各項功能都非常方便使用,而且重構很容易。但是,Java 真正出類拔萃的地方在於第三方庫的開發體驗。
          依賴關係與行業趨勢
          雖然我的經驗很有限,但在我看來,大膽使用外部依賴項是現在的趨勢。“自給自足”已經過時,現在的流行趨勢是“萬物爲我所用”。特別是 JavaScript 開發人員使用第三方庫的頻率極高,即使是一些瑣碎的操作(例如,數字的左側填充操作等)。我認爲積極使用第三方依賴關係並沒有太大壞處,但是上遊 API 的變化可能會對非類型化的 JS / Python 代碼庫造成嚴重破壞。
          在 Java 中使用第三方庫時,你需要確切地知道將哪些類型傳遞給方法。最重要的是,如果使用函數錯誤,編輯器會給出警告。所以,從大量使用外部庫的角度來看,我認爲應該有更多人會喜歡 Java。
          標準的類型可節省時間
          動態類型、弱類型等等,無論什麼類型都有許多缺點。當依賴項改變了 API 方法時,你的應用程序就會運行時出問題,而不是構建時,這就是問題所在。如果開發人員必須參考方法的實現,才能搞明白需要哪種類型,那麼就會浪費大量的時間。TypeScript 和 Python 的類型提示可以解決此問題,但是它們缺乏在運行時驗證傳遞類型的能力。
          我不是很喜歡 TypeScript 的類型保護,因爲你必須自己實現,並保證實現的正確性。在我看來,這對於定義者和使用者雙方都沒有好處。考慮以下代碼:
          interface Dog {    bark: () =>void;}/* The developer has to manually implementa heuristic check for interface adherence!When they update the interface, they haveto update the type guards too! */functionisDog(pet: object): petisDog{return (pet as Dog).bark !== undefined;}const dog: any = {bark: () =>console.log('woof')};if (isDog(dog)) {// TS now knows that objects within this if statement are always type Dog// This is because the type guard isDog narrowed down the type to Dog     dog.bark();}
          聲明一個類型,而且還必須爲該類型編寫驗證邏輯,這讓我覺得很難受。上述代碼讓人感覺某人使用了錯誤的工具。
          與 TypeScript 的定義不同,Java 的標準類型系統不僅明確了類型定義,而且還可在默認情況下保證類型保護,所以減輕了程序員的很多負擔。
          沒有優化的負擔
          Java 開發人員可以放心地使用 JVM。無論是實現多線程應用程序還是將大量數據存儲在堆上,他們都可以相信自己不會因內存管理或數據競爭而陷入困境。這個優勢主要體現在和 C++ 的對比中,因爲 C++ 就有很多這樣的坑。
          在你看來,符合以下條件的語言有哪幾種?
          高質量的打包管理器和構建系統標準類型大型社區自動優化
          我認爲唯一合格的語言就是 Java。
          大學沒有 Java 課程
          我目前就讀於科羅拉多大學博爾德分校。這是一所很棒的學校,我們計算機系的名氣雖不大,但很多高等計算機科學課程都來自卡內基梅隆大學或斯坦福大學。在大學期間,我學習和使用了以下編程語言:
          C++。所有核心的必修課程都選擇了該語言:計算機系統、操作系統、數據結構等。當然,選擇 C++ 也確實很合適,因爲它可以直接進行內存管理、創建內核模塊,而且還帶了很多挑戰和學習的機會。Python 和 Julia。如你所料,這兩門語言是數值計算和離散數學教授的摯愛。Scala。編程語言原理教學中使用了該語言,主要是因爲其函數編程和模式匹配特徵。儘管 Scala 使用了 JVM,還可與 Java 互操作,但它爲開發人員提供的體驗不同於 Java。Web 編程語言(HTML / CSS / JS)。這些僅用於一門名叫“軟件開發方法和工具”的課程,這門課程非常注重行業趨勢。
          目前我馬上就要畢業,卻從未見過 Java。我覺得很可惜。
          總結
          構建應用程序的方法不止一種,但是我認爲 Java 沒有得到足夠的重視,尤其是在創業公司和新手編程社區。非類型語言也是非常實用的工具,但我不認爲它們就是構建大型應用程序的默認選擇。如果你是一位全棧開發人員,而且從未深入就接觸過 Java,那麼請在下一個項目中嘗試下吧,你會收穫意外驚喜。
          90 年代和 2000 年初,Java 和 JVM 被炒得沸沸揚揚,但我覺得即便到了今時今日,它也不應該從大衆的視野中消失。我個人就通過 IntelliJ 和 Java 發現了意外的驚喜。
          網友評論
          不過,也有不少網友表達了不同的看法:
          評論1:
          在我看來,Java 做出了大量錯誤的妥協:
          語言的高級程度比不上 Python/Ruby/JS/PHP語言的低級程度比不上 Rust/D/Nim/Zig專用程度比不上 Erlang/R/Go/Julia語言的特有風格比不上 Lisp/Haskell
          爲什麼要使用 Java 呢?有人會說,Java 很好、很快,生產效率高,支持豐富,經過系統的測試,文檔也很齊全,還有大量的開發者,許多公司都在用它。
          但我認爲這些還不夠。
          Python 比 Java 還要古老,支持、文檔和開發者數量都比Java高很多。但是 Python 語言比 Java 高級很多,非常適合高層應用,如數據操作、腳本、Web 開發等。
          如果分佈式系統需要大量 I/O,那麼 Erlang 和 Go 要比 Java 好很多。當然,Erlang 和 Go 不如 Java 那麼有名,但爲了滿足需求,付出一些代價也是值得的。同樣,如果系統對速度有要求,那麼就應該選擇 Rust 而不是 Java。
          如果想寫得開心,我也不會選 Java。LISP 也非常好。爲什麼要考慮效率呢?我是自己寫着玩,又不是要開公司。
          所以 Java 雖然不是很差的選擇,但我不會用它。
          評論2:
          在我看來 Java 就像清潔車一樣。你去上班,坐進清潔車,點火,然後做完每天必做的工作,然後熄火回家睡覺。沒人會把清潔車放到車展上,但你需要時,它就會出現,可靠地完成工作。
          原文鏈接:http://jackson.sh/posts/2021-04-java-underrated/
          聲明:本文由CSDN翻譯,轉載請註明來源。

          【關鍵詞:青島Java培訓,正規java開發培訓,學java開發多少錢,java培訓哪家好,皇家娱乐】

           st_bottom
          青島Java培訓,青島HTML5培訓,青島UI培訓,青島web開發培訓,青島IT培訓,java培訓,ui培訓,HTML5培訓,java就業培訓,專業ui設計,web開發培訓,IT培訓,思途教育,青島思途,皇家娱乐
          Copyright © 青島思途共享科技信息服務有限公司 魯ICP備14027489號-2

          魯公網安備 37021402000988號

          青島Java培訓,青島HTML5培訓,青島UI培訓,青島web開發培訓,青島IT培訓,java培訓,ui培訓,HTML5培訓,java就業培訓,專業ui設計,web開發培訓,IT培訓,思途教育,青島思途,皇家娱乐