java小细节_为什么我喜欢Java的细节
java小細節(jié)
他們說,Java太冗長了。 您可以找到Hello World程序的比較,這些程序在ruby中使用2行,在Java中使用10行,而要讀取文件,您需要使用Java 20行和php中1行。盡管示例經(jīng)常被夸大(例如,計算導(dǎo)入次數(shù)),但確實Java程序需要更多的代碼行。 但這根本不是一件壞事。
相反,這是我真正喜歡的東西。 實際上,這與語言的冗長無關(guān)–除了匿名類-而不是閉包之外,沒有什么其他語言過于冗長。 它是關(guān)于核心庫的。 所以–我喜歡以冗長的方式編寫核心庫的方式。 兩個例子:
- 拿java.io。 包。 讀取和寫入文件,流等。這有點難掌握,一開始,您需要復(fù)制粘貼很長的代碼片段以僅讀取文件。 但這迫使您了解流和讀者的抽象。 其他語言則很簡單: var contents = readFile("path")很酷,但是您永遠不會被迫了解I / O管理的工作原理。 如果讀取失敗會怎樣? 對文件進行部分讀取就足夠了嗎? 您可以討價還價嗎? 您應(yīng)該關(guān)閉資源還是將其自動關(guān)閉? 您無需為打招呼世界程序回答這些問題,但很快就需要了解它們。 不太冗長的語言對您隱藏了它們,并推遲了這種“抽象啟示”。
- Servlet API。 乍一看,它看起來有些毛茸茸的類和接口。 但是很快,您就會意識到整個過程是如何工作的–不僅在Java中,而且在http請求的一般生命周期中。 因為您需要一個Servlet對象,請求和響應(yīng)對象以及要寫入的輸出流,所以您了解了整個請求-響應(yīng)周期。 我這里有一個個人例子。 我已經(jīng)在學(xué)校寫PHP一年了。 然后一個月的Java和servlet使我完全明白了整個過程。 PHP非常易于使用– $_GET['foo'], session_start()以及之間的一堆HTML。 因此,我不必理會底層的機制。 Java迫使我這么做。
您可能會說–很好,它迫使您學(xué)習(xí)這些重要的概念和抽象,但是它也應(yīng)該為您提供一種輕松完成事情的方法。 但是,如果核心庫本身具有這些選項,則所有教程都將顯示這些選項,而較低級的API將會被遺忘。
因此,解決方案是–第三方庫。 Apache和Google給您這些。 有了番石榴和apache commons,您便擁有了所有這些單線。 Joiner.on(",").join(array) FileUtils.readLines(..) , Joiner.on(",").join(array)等等。但是,您不是從這些庫開始的,而是學(xué)習(xí)了如何在較低的層次上工作–仍然需要知道。
參考資料: 為什么我喜歡我們的JCG合作伙伴 Bozhidar Bozhanov在Bozho的技術(shù)博客上看到的 Java的詳盡程度
相關(guān)文章 :
- 討厭Java嗎? 您正在打錯仗。
- 選擇一種新的編程語言來學(xué)習(xí)
- 編寫不爛的代碼
- 如果我有更多的時間,我會寫更少的代碼
翻譯自: https://www.javacodegeeks.com/2012/01/why-i-like-verbosity-of-java.html
java小細節(jié)
總結(jié)
以上是生活随笔為你收集整理的java小细节_为什么我喜欢Java的细节的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Python,Java和Kotlin中
- 下一篇: 进口设备备案需要什么材料(进口设备备案)