Tiobe發(fā)布了最新一期(3月)編程語言歡迎度榜單妄辩,其榜單根據互聯網上開發(fā)人員庸汗、課程和第三方廠商的數量惫确,并根據使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia改化、Amazon昧诱、YouTube統計出排名數據。毫無疑問所袁,老大哥Java 穩(wěn)居第一盏档。同樣都是編程語言,為何java那么優(yōu)秀燥爷?
本文梳理了學習Java需要注意的十大雷區(qū)和常用工具蜈亩,祝各位大神看好學好,長生不老前翎。
1.研究太多稚配,實踐太少
在編程方面缺乏實踐是十分致命的。從第一天開始學習港华,就要每天練習編程道川。就如同學習拳擊或跳舞,如果只通過視頻學習立宜,永遠也學不會這些冒萄。除非你把練習編程變成一種日常習慣,否則永遠不會對編程有信心橙数。
2.沒有目標的無休止盲目學習
有些學生尊流,盡管年齡大,卻只是單純喜歡學習灯帮。他們追求的是過程崖技,而不是結果。即使這樣可以開闊你的眼界钟哥,但是也不得不承認迎献,浪費上百小時(如果不是上千小時)在新潮的愛好上,是沒有任何意義的腻贰。
僅僅為了賺錢的程序開發(fā)員吁恍,是不會在谷歌或者其他著名軟件公司旗下任職的,因為編程這行業(yè)并不屬于他們银受。同樣的践盼,如果你熱愛編程,但卻不愿每天付出時間練習宾巍,那也許編程并不適合你咕幻。
3.一次性學習太多技術
軟件開發(fā)這領域是個深藏眾多數據和編碼工具的深海。如果你期望學習熱門并且看起來有意思的東西顶霞,你可能會在剛開始就完全陷入困惑之中肄程。這就是為什么你需要根據自己的情況制定特定的計劃锣吼,計劃中包括融入Java的核心編碼項目和編程工具。具體的計劃和目標也可以幫助你避免成為無止盡的學習者蓝厌,讓你的學習設定在明確的時間框架內玄叠。
4.造成學習空檔
還記得“每天練習編碼”這句學習Java的座右銘嗎?很好拓提,每當你想要偷懶翹掉幾天編碼學習時读恃,就想想這個。初學者在剛開始時就三天打魚代态、兩天曬網的話寺惫,造成的后果會比想象中嚴重。一旦開始學習新的知識板塊蹦疑,其中涉及到之前的知識時西雀,你會發(fā)現自己完全不記得之前學習的內容。這種驚人的“健忘癥”會不斷阻礙你的前進歉摧,所以竭盡全力艇肴、從不間斷地學習前進吧。
5.認為只要了解了Java叁温,就可以開始編碼
一個優(yōu)秀的開發(fā)人員必須掌握語言這個必要的工具再悼。有些人可能認為編程必須是對數學很在行的——不,其實未必券盅。同樣的帮哈,知道如何寫代碼也不代表你會成為程序員。編程還要求你掌握許多其他的技能:強大的邏輯思維能力锰镀、解決問題的能力,以及將程序的結構和序列可視化的能力咖刃。有經驗的程序員會在考慮好解決方案的邏輯之后再開始編寫代碼泳炉。
6.深陷在困難的理論之中
在通常情況下,花在任務或研究上的時間與事情的成功與否沒有直接的關系嚎杨。學習Java時花鹅,持之以恒的態(tài)度是解決問題和學習新知識的關鍵。但有時候枫浙,你需要先跳過難以解決的問題刨肃,稍后再找到出現問題的核心。友情建議:不要試圖死記硬背代碼箩帚,也不要對編碼中的“工作原理”糾結得太深真友。Java的許多進程都是自動運行的,因此你可以更多地注重編程的直觀感覺紧帕,并不斷讓自己更加熟練盔然。
7.忽略可讀代碼的重要性
學習編程時桅打,首要任務就是讓代碼運作起來。這也是為什么初學者不注重帶有清晰注解的可讀代碼愈案,而這些代碼后來可能會被“解密”挺尾。
但是大多數有經驗的程序員會做這樣的事情。他們遇到某些不熟悉的代碼時站绪,會試著理解這些代碼的意思以及這些代碼要完成的功能遭铺。只有足夠努力,你才能適時地學習如何編寫可讀性代碼恢准。
8.沒有定期測試代碼
非常遺憾魂挂,但是確有這樣的事實——你編寫的代碼并不總是如期運作。這就需要定期測試顷歌,別讓后續(xù)的錯誤越積越多锰蓬。如此以來,每個階段就只需要處理少數的問題眯漩,而不需要反復費力的調試以找出漏洞所在和漏洞出現的時間芹扭。
9.單獨學習Java
鑒于網上有許多助你成功學習的工具和資源,往往大家會選擇自學編程赦抖〔湛ǎ可是大家會忽視真正的學習交流。事實上队萤,盡可能多地參與學習小組會更有效率轮锥。比如, Coderanch和Stack Overflow論壇(這兩個都是與程序相關的IT技術問答網站)就有許多供Java程序員討論的平臺. 此外要尔,還有一個Oracle Java社區(qū)舍杜,它鼓勵新手和經驗豐富的開發(fā)人員加入該Java論壇并關注Oracle Java博客的更新。值得一提的是赵辕,Reddit上的Java社區(qū)已超過10.7萬人既绩。
10.認為總有一天自己會懂得一切編碼知識
作為編程菜鳥,多聽聽有經驗的同事的建議还惠,始終不懈的學習饲握。編程領域日新月異,要求學習者始終秉持著學習的態(tài)度掌握與時俱進的新知識新技術蚕键,這樣才能成為受人追捧的專家救欧。
我做開發(fā)十多年的時間,如果大家對于學習java的學習方法锣光,學習路線以及你不知道自己應該是自學還是培訓的疑問笆怠,都可以隨時來問我,大家可以加我的java交流學習qun:??六一五嫉晶,七四一骑疆,六三六田篇。qun內有學習教程以及開發(fā)工具。
學習Java的成功秘訣
1.安排好學習時間箍铭,盡量減少干擾泊柬。
2.風雨無阻,日常編碼诈火。
3.嘴上再能說兽赁,不如動手做。
4.正確的提問冷守〉堆拢可以加入Stack Overflow和Coderanch論壇的討論,在編程課程上結交虛擬朋友拍摇,一起做復雜的項目亮钦。
5.編程可視化。試著制作一個作品集充活,讓別人有機會看到你的作品蜂莉。
6.即使成功了,也要堅持每天學習混卵。
學習Java的幾種工具
1.多種編碼語言的資源:
?????CodeAcademy ——通過編碼學習編碼
CodeAcademy從第一堂課開始就是一些實際的編程任務映穗。由簡單到復雜。遇到問題可以嘗試自己找到解決方案幕随,如果覺得難蚁滋,可以點擊任務欄上提示尋求幫助,或者去常見問題(FAQ)處尋求解答赘淮。CodeAcademy是個很好的學習Java的補充工具辕录,可以利用它提高編程技能,但是同時也需要其他的一些資源來學習關鍵概念梢卸。
?????Codewars ——參加編碼競賽
掌握了基礎后踏拜,可以嘗試Codewars讓自己在編碼更有信心。這是一個在線平臺低剔,在此可以與其他程序員競爭,并提高你使用多種編程語言編寫代碼的技能肮塞。你可以在瀏覽器中編寫解決方案襟齿,并逐步檢查它們;可以單獨編寫代碼枕赵,或者組隊處理任務猜欺。解決的任務越多,獲得的就越多拷窜。
2. 嚴格用于學習實踐Java: CodeGym.cc
趣味學習:CodeGym是一個在線學習平臺开皿,它使用游戲化的方式讓你的學習體驗變得有趣涧黄。課程分為四個任務,設定在未來世界的故事情節(jié)和獨特的人物設定赋荆。每個任務包含十級笋妥。每一級多達10-13課,外加幾十個實踐任務窄潭。與CodeAcademy一樣春宣,從第一課開始,學員可以通過網絡集成開發(fā)環(huán)境(web IDE)編寫代碼嫉你。一切都很簡單:讀取任務月帝、編寫代碼,然后單擊“check”按鈕立即得到結果幽污。與其他編碼練習不同的是嚷辅,它提供了Java理論的清晰解釋,因此對于所有的初學者來說非常方便距误。