1. 程式人生 > >為什麼要將部落格進行下去

為什麼要將部落格進行下去

為什麼要將部落格進行下去

部落格應該會伴隨我的職業生涯,為什麼會寫部落格?有兩個原因:一是受到公司一位同事的啟發;另一個是讀《瘋狂java講義》作者李剛的一篇文章有感。將自己的學習過程和總結記錄在部落格中,會讓自己學到的零碎知識構成體系,不僅是知新的動力,也是溫故的好素材。在過去的那段時間裡,雜亂無章的看過不少的知識點,但是生疏不用,時間久了之後又跟第一次遇到一樣。記錄在部落格中,不僅會在當時加深自己對原理的認知,也可以供在後面的時間裡翻閱檢視並進行深入補充,形成一個良性迴圈。

李剛的《如何學習JAVA》這篇文章,對我的觸動很大,也是在我那段迷茫時間裡的一盞燈塔,現在我原文抄錄下來,激勵自己也激勵看到這篇文章的讀者,不忘初心!

經常看到有些學生、求職者捧著一本類似JBuilder入門、Eclipse指南之類的圖書學習java,當他們學會了在這些工作中拖出窗體、安裝按鈕之後,就覺得自己掌握、甚至精通了java;又或是找來一本類似JSP動態網站程式設計之類的圖書,學會使用JSP指令碼編寫一些頁面後,就自我感覺掌握了java的開發。

還有一些學生、求職者聽說J2EE、Spring或EJB很有前途,於是立即跑到書店或圖書館找來一本相關圖書。希望立即學會它們,然後進入軟體行業。大顯身手。

還有一些學生、求職者非常希望找到一本既速成、又大而全的圖書,比如突擊J2EE開發、一本書精通J2EE之類的圖書,希望這樣一本圖書就可以打通自己的“任督二脈”,一躍成為J2EE開發高手。

也有些學生、求職者非常喜歡J2EE專案實戰,專案大全之類的圖書,他們的想法很單純:我按照書上介紹,按圖索驥、依葫蘆畫瓢,應該很快就可學會J2EE,很快就能成為一個受人羨慕的J2EE程式設計師了。

凡此種種,不一而足。但最後的結果往往是失敗,因為這種學習沒有積累,沒有根基,學習過程中困難重重,每天都被一些相同、類似的問題所困擾,起初熱情十足,經常上論壇詢問,按別人的說法解決問題之後很高興,既不知道為什麼錯,也不知道為什麼對,只是盲目地抄襲別人的說法。最後的結果又兩種:

久而久之,熱情喪失,最後放棄學習。

大部分常見問題都問遍了,最後也可以從事一些重複性的開發,但一旦遇到新問題,又將束手無策。

第二種情形在普通程式設計師中佔了極大的比例,筆者多次聽到、看到有些程式設計師抱怨:我做了2年多java程式設計師了,工資還是3000多點。偶爾筆者會與他們聊聊工作相關的內容,他們會告訴筆者:我也用Spring了啊,我也用EJB了啊~~~他們感到非常不平衡,為什麼我的工資這麼低?其實筆者很想告訴他們:你們太浮躁了!你們確實用了Spring、EJB或者Hibernate,但你們從未想過為什麼要用這些技術?用這些技術有什麼好處?如果不用這些技術行不行?

很多時候,我們的程式設計師把java當成一種指令碼,而不是一門面向物件的語言,他們習慣了在JSP指令碼中使用JAVA,但從不去想JSP如何執行,WEB伺服器裡的網路通訊、多執行緒機制,為何一個JSP頁面能同時向多個請求者提供服務?更不會想如何開發web伺服器:他們像程式碼機器一樣編寫Spring bean程式碼,但從不去理解Spring容器的作用,更不會想如何開發Spring容器。

有時候,筆者的學生在編寫五子棋、梭哈等作業感到困難時,會像他們的大師兄、朋友求教,這些程式設計師告訴他:不用寫了,網上有下載的!聽到這些回答,筆者不禁感到啞然:網上還有Windows下載呢!網上下載和自己編寫是兩碼事。偶爾,筆者會懷念以前黑色螢幕、綠熒熒字元時代,那時候程式設計師很單純:當我們想偷懶時,習慣思維是寫一個小工具:現在程式設計師很聰明:當他們想偷懶時,習慣思維是從網上下載一個小工具。但是,誰更幸福呢?

當筆者的學生把他們完成的小作業放到網際網路上之後,然後就有許多人稱他們為“高手”!這個稱呼卻讓他們萬分慚愧:慚愧之餘,他們也感到萬分欣喜,非常有成就感,這就是程式設計的快樂。程式設計的過程,與尋寶的過程完全一樣:歷經辛苦,終於找到心中的夢想,這是何等的快樂。

如果真的打算將程式設計當成職業,那就不應該浮躁,而是應該紮紮實實先學好java語言,然後按java語言本身的學習規律,踏踏實實一步一個腳印地學習,把基本功練紮實才可獲得更大的成功。

實際情況是:有多少程式設計師真正掌握了java的面向物件?真正掌握了java的多執行緒、網路通訊、反射等內容?有多少java程式設計師真正理解了類初始化時記憶體的執行過程?又有多少程式設計師理解Java物件從建立到消失的全部細節?有幾個程式設計師真正獨立編寫過五子棋、梭哈、桌面彈球這種小遊戲?又有幾個程式設計師敢說:我可以開發Struts、我可以開發Spring、我可以開發Tomcat?很多人會說:這些都是許多人開發出來的!實際情況是:許多開源框架的核心最初的完全是由一個人開發的。現在這些優秀程式已經出來了!你,是否深入研究過它們,是否深入掌握了它們?

如果要真正掌握java,包括後期的javaEE相關的技術,一定要記住筆者的話:絕不要從IDE工具開始學習。IDE工具的功能很強大,初學者學起來也很容易上手,但也非常危險:因為IDE工具已經為我們做了許多事情,而軟體開發者要了解軟體開發的全部步驟