hyperjava  
          日歷
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789
          統計
          • 隨筆 - 0
          • 文章 - 2
          • 評論 - 2
          • 引用 - 0

          導航

          留言簿

          文章檔案

          搜索

          •  

          最新評論

           

              經常看到有些學生、求職者捧著一本類似JBuilder入門、Eclipse指南之類的圖書學習Java,當他們學會了在這些工具中拖出窗體、安裝按鈕之后,就覺得自己掌握、甚至精通了Java;又或是找來一本類似JSP動態網站編程之類的圖書,學會使用JSP腳本編寫一些頁面后,就自我感覺掌握了Java開發。
              還有一些學生、求職者聽說J2EE、Spring或EJB很有前途,于是立即跑到書店、或圖書館找來一本相關圖書。希望立即學會它們,然后進入軟件開發業、大顯身手。
              還有一些學生、求職者非常希望找到一本既速成、又大而全的圖書,比如突擊J2EE開發、一本書精通J2EE之類的圖書(包括筆者曾出版的《輕量級J2EE企業應用實戰》一書,據說銷量不錯),希望這樣一本圖書就可以打通自己的“任督二脈”,一躍成為J2EE開發高手。
              也有些學生、求職者非常喜歡J2EE項目實戰、項目大全之類的圖書,他們的想法很單純:我按照書上介紹,按圖索驥、依葫蘆畫瓢,應該很快就可學會J2EE,很快就能成為一個受人羨慕的J2EE程序員了。
              ……
              凡此種種,不一而足。但最后的結果往往是失敗,因為這種學習沒有積累、沒有根基,學習過程中困難重重,每天都被一些相同、類似的問題所困擾,起初熱情十足,經常上論壇詢問,按別人的說法解決問題之后和高興,既不知道為什么錯?也不知道為什么對?只是盲目地抄襲別人的說法。最后的結果有兩種:
              1.久而久之,熱情喪失,最后放棄學習。
              2.大部分常見問題都問遍了,最后也可以從事一些重復性開發,但一旦遇到新問題,又將束手無策。
              第二種情形在普通程序員中占了極大的比例,筆者多次聽到、看到(在網絡上)有些程序員抱怨:我做了2年多Java程序員了,工資還是3000多點。偶爾筆者會與他們聊聊工作相關內容,他們會告訴筆者:我也用Spring了啊,我也用EJB了啊……他們感到非常不平衡,為什么我的工資這么低?其實筆者很想告訴他們:你們太浮躁了!你們確實是用了Spring、Hibernate又或是EJB,但你們未想過為什么要用這些技術?用這些技術有什么好處?如果不用這些技術行不行?
              很多時候,我們的程序員把Java當成一種腳本,而不是一門面向對象的語言。他們習慣了在JSP腳本中使用Java,但從不去想JSP如何運行,Web服務器里的網絡通信、多線層機制,為何一個JSP頁面能同時向多個請求者提供服務?更不會想如何開發Web服務器;他們像代碼機器一樣編寫Spring Bean代碼,但從不去理解Spring容器的作用,更不會想如何開發Spring容器。
          有時候,筆者的學生在編寫五子棋、梭哈等作業感到困難時,會向他們的程序員師兄、朋友求救,這些程序員告訴他:不用寫了,網上有下載的!聽到這樣回答,筆者不禁感到啞然:網上還有Windows下載呢!網上下載和自己編寫是兩碼事。偶爾,筆者會懷念以前黑色屏幕、綠熒熒字符時代,那時候程序員很單純:當我們想偷懶時,習慣思維是寫一個小工具;現在程序員很聰明:當他們想偷懶時,習慣思維是從網上下一個小工具。但是,誰更幸福?
              當筆者的學生把他們完成的小作業放上互聯網之后,然后就有許多人稱他們為“高手”!這個稱呼卻讓他們萬分慚愧;慚愧之余,他們也感到萬分欣喜,非常有成就感,這就是編程的快樂。編程的過程,與尋寶的過程完全一樣:歷經辛苦,終于找到心中的夢想,這是何等的快樂?
              如果真的打算將編程當成職業,那就不應該如此浮躁,而是應該扎扎實實先學好Java語言,然后按Java本身的學習規律,踏踏實實一步一個腳印地學習,把基本功練扎實了才可獲得更大膽成功。
              實際情況是,有多少程序員真正掌握了Java的面向對象?真正掌握了Java的多線程、網絡通信、反射等內容?有多少Java程序員真正理解了類初始化時內存運行過程?又有多少程序員理解Java對象從創建到消失的全部細節?有幾個程序員真正獨立地編寫過五子棋、梭哈、桌面彈球這種小游戲?又有幾個Java程序員敢說:我可以開發Struts?我可以開發Spring?我可以開發Tomcat?很多人又會說:這些都是許多人開發出來的!實際情況是:許多開源框架的核心最初完全是由一個人開發的?,F在這些優秀程序已經出來了!你,是否深入研究過它們,是否深度掌握了它們?
              如果要真正掌握Java,包括后期的Java EE相關技術(例如Struts、Spring、Hiberate和EJB等),一定要記住筆者的話:絕不要從IDE(如JBuilder、Eclipse和NetBeans)工具開始學習!IDE工具的功能很強大,初學者學起來也很容易上手,但也非常危險:因為IDE工具已經為我們做了許多事情,而軟件開發者要全部了解軟件開發的全部步驟。
              筆者就自己對Java EE體系的理解,對Java EE學習者給出一個粗略線路圖,如下圖所示:



          (轉自:http://www.crazyjava.org/thread-211-1-1.html

          posted on 2008-11-18 14:10 hyperjava 閱讀(185) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
           
          Copyright © hyperjava Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 徐水县| 岳普湖县| 邳州市| 开远市| 赤水市| 秭归县| 上犹县| 贺兰县| 丰都县| 加查县| 陵川县| 太仆寺旗| 许昌市| 谷城县| 灵璧县| 漯河市| 永州市| 闽侯县| 昌图县| 崇明县| 大化| 南开区| 民乐县| 阿荣旗| 介休市| 大姚县| 保山市| 乳山市| 阳城县| 东兰县| 普兰店市| 青河县| 荣成市| 巴中市| 锡林郭勒盟| 普定县| 兰坪| 朝阳区| 石楼县| 西乌珠穆沁旗| 慈溪市|