學習 Java 的起點——你應該知道的和我希望我知道的

已發表: 2020-04-14

如果它是您大學課程的一部分,那麼開始編程會更容易。 然後,您不必選擇學習哪種語言、跳過哪些論點以及更關注哪些概念。

當我上大學時,C 是第一個學習的編程語言,然後教授會給我們上 C++ 的課程,後來,如果你願意,你可以學習 Java、Python 和其他語言。

然而,當我與入門級軟件開發人員交談時,我不建議你使用 C 來完成編程教育。相反,我通常建議學習 Java——我稍後會解釋為什麼。

儘管在我看來,Java 社區充滿了學習材料,但初學者經常問我“那麼,我從哪裡開始?” 或“我必須閱讀理論還是立即開始編寫代碼?”。

顯然,自學編程並不容易。 作為一名經驗豐富的開發人員,我決定幫助新手同行並引導他們克服 Java 學習曲線的陷阱。 在這篇文章中,您將了解哪些實踐是 Java 學習中的遊戲規則改變者,許多 Java 開發人員失敗的地方,以及如何確保您能夠在工作場所應用您掌握的概念。

但為什麼是 Java?

如果您的第一反應是與我展開辯論並解釋 Python 更容易,或者 C 是一種更傳統的學習軟件開發的方法,那麼我向您保證,我知道您可以從哪裡來。

我客觀地看待 Java,認識到它的缺點(速度和內存效率)——不過,我相信作為入門級開發人員,沒有更好的語言可以學習。

這就是為什麼我如此喜歡 Java 作為編程的起點:

  • Java的概念被多種編程語言使用。 面向對象的編程、類型變量或控制流都是您以後在 C 或 C++ 中工作時可以使用的概念。 如果 Python 開發人員只知道如何用 Python 編寫代碼,那麼您將在 Java 與其他 Web 和移動語言(例如,Kotlin 的很多功能歸功於 Java)語言之間架起一座橋樑。 就多功能性而言,選擇 Java 絕對是對任何其他語言的勝利。
  • Java 中的編碼是通用的。 對於您的第一種開發語言,您不只是想要一種可以讓您獲得技能和工作的有利可圖的技術。 相反,確保您享受愉快的旅程符合您的最大利益——而 Java 正是您所尋找的。 如果您剛剛開始,C 語言更簡單的感覺可能會困擾您(您稍後會理解)。 然而,當我回憶起我學習編程語言的日子時,沒有其他學習經驗勝過對 Java 的干預。 創造和構建示例應用程序的空間非常大——基於文本的 RPG、控制台管理的遊戲等等。 最重要的是,您可以找到各種難度的項目——無需學習數月的理論概念,然後再進行實踐學習。
  • 廣泛使用的語言。 有時,就這麼簡單——你想學習一門可以讓你做任何事情的語言,幾乎沒有什麼比 Java 更好的了。 該語言非常適合 Web 應用程序、軟件、Android 項目和內部工具。 在掌握了 Java 的基本知識後,您會覺得自己或多或少可以做任何事情。 誠然,像 JavaScript 這樣的腳本語言仍然是必要的——但是,一旦你至少達到 Java 的中級熟練程度,它就不會像從頭開始學習編程語言那樣可怕。

Java 編程就業市場——有什麼好處嗎?

學習代碼開發
圖片:KnowTechie 商店

學習 Java 可能很有趣,但如果這是我唯一知道的語言,我不會失業和挨餓嗎?

由於 Java 在入門級開發人員中如此受歡迎,您可能會覺得每個人都知道如何使用它,並且不再有人僱用程序員。 最有可能的是,你正在體驗啟動的經典效果——認為因為你看到了很多東西,所以它可能很常見。

我收集了一些關於 Java 就業市場的統計數據,以證明對於一個相當熟練的開發人員來說有大量的工作:

  • 根據 Stack Overflow 的最新調查,Java 是排名最高的編程語言;
  • 根據 Glassdoor 的數據,美國 Java 開發人員的平均工資為 79,137 美元。
  • Indeed 上當前可用的 Java 開發職位數量 – 27,049

如果您考慮到科技界的整體趨勢——例如對科技人才的需求不斷增加和 Android 設備的日益普及(Java 是一種廣泛使用的 Android 開發語言),那麼很明顯您並沒有失業很快。

因此,與其猶豫是否應該嘗試 Java,不如立即開始學習這門語言。

我希望在我的 Java 學習之旅中知道的事情

回到我學習 Java 的那一天,除了幾十個教程、書籍和官方文檔之外,工具和資源還沒有一半。 為什麼我認為開發人員現在有很多資源會更容易,很多入門級編碼人員都被各種各樣的工具弄糊塗了。

儘管獲得軟件開發能力並沒有一成不變的策略,但我希望有人能早點告訴我一些事情。

1. 學習解決問題,而不是編程

Web開發人員
圖片:像素

我看到很多初學者在教程之後瀏覽教程,學習模式和概念。 然而,雖然這將幫助您學習 Java 語法,但您仍然遠離程序員的思維方式。

就在我完成 Java 教程並不得不充分利用我的技能之後,我感到困惑和挑戰。 我沒有將應用程序分解成可移動的部分,也沒有看到我如何自己從頭開始構建它們,而是一直把每個項目都看作是一座我無法攀登的高山。

幸運的是,一路走來,我發現了大量的資源,這些資源幫助我對現實世界的 Java 開發更有信心:

  • Think Like a Programmer – 這本書可以幫助您獲得開發人員的思維方式,無論您正在學習哪種語言
  • Codegym – 一個專門用於 Java 學習的平台,強調理論概念的實際應用。 多虧了這個,我發現了多種有用的技巧,這些技巧幫助我輕鬆地進行項目開發。
  • Stack Overflow——我知道你聽說過很多關於潛伏在這裡的事——雖然我不建議從 SO 中粘貼一些代碼,但瀏覽論壇肯定會讓你更接近開發人員的心態。

2. 我低估了輔助技術

不知何故,我很幸福地不知道 Java 庫和框架有多大幫助。 自然地,作為一個初級開發者,你想自己做所有事情——然而,你一天能做的只有這麼多,尋找捷徑往往是至關重要的。

如果我要重新開始我的 Java 學習之旅,我會在選擇與該語言配對的工具集時更加徹底。

以下是我建議開發人員檢查的工具:

  • JUnit——Java 程序員的便捷測試工具
  • JRat – 一個 Java 性能分析器,允許開發人員監控其產品的執行;
  • Mockito – 一個促進 Java 模擬的開源框架;
  • Ehcache – 專為 Java 編程設計的緩存工具。

我將在下面列出 Java 學習最重要的庫、框架和 API。

3.我沒有學習計劃

非常信任教程和在線資源,我開始完全一頭霧水地學習 Java。 我的旅程沒有時間表,不知道如何使用我的技能,或者充實的日常學習程序。 我的動機既簡單又愚蠢——Java 看起來很時髦,不知道它感覺像是錯過了,所以我為什麼不學習它呢?

如果您是從軟件開發開始的,那麼在一天結束時更徹底地了解您想要達到的目標。 不要讓你心中的目標蒙蔽了你——學習編程語言應該總是從基礎開始,即使你想成為一個全棧開發人員——一個多面手。

現在,如果我必須從頭開始學習 Java,這大概是我的路線圖:

JDK API:

  • Java IO
  • Java 集合
  • Java 並發
  • 爪哇 8

Java 框架:

  • 春天
  • 彈簧靴
  • 休眠
  • 微航海
  • Eclipse 微配置文件

測試庫:

  • Cucumber – 促進業務驅動的測試
  • 機器人框架——幫助優化集成測試
  • 用於單元測試的 JUnity
  • 用於樣機測試的 Mockito。

有關更詳細的 Java 開發學習模型,請查看下圖。

我會為這些塊中的每一個分配一個截止日期,以確保我不會懈怠並取得進展。

結論

當我說學習 Java 是一段有趣的旅程時,我主要指的是當你精通之後你會感受到的懷舊和快樂的回憶。 至於這個過程,你將體驗到獲得問題正確答案的高潮和不理解你的學習資源到底想從你那裡得到什麼的低谷。

與任何學習一樣,掌握一門編程語言是血汗和淚水。 但是,只要你堅持下去,克服Java最初的繁瑣,學習的過程會逐漸變得更加愉快,不那麼累。

對此有什麼想法嗎? 在下面的評論中讓我們知道,或者將討論帶到我們的 Twitter 或 Facebook。

編輯推薦:

  • 通過這門 13 美元的初學者課程快速啟動您的 JavaScript 技能
  • 9 必須學習套牌才能跟上 Java
  • 關於 Java 託管你應該知道的 3 件事
  • 為什麼 Java 編程在企業中很受歡迎?