feng

          飄逸~~~~~life

          關(guān)于JAVA學(xué)習(xí)的幾點看法(轉(zhuǎn))

          要成為JAVA程序員,用三個月的時間.
          要成為J2EE高手,用一年的時間.
          要成為JAVA技術(shù)應(yīng)用專家,用三年的時間,其中兩年去學(xué)習(xí)C/C++

          現(xiàn)在我再次想說這樣的話,如果你從來沒有學(xué)過C/C++,那么我說一個JAVA技術(shù),你可能永遠也不可能真正的理解它的真正的意義:

          方法參數(shù)中JAVA的對象是如何傳遞的?
          真實的情況是傳遞"引用的值",如果你不了解C/C++,你是無法理解這句話的.你只能看別人的書上說什么你就記得什么,而實際如何,你根本不懂.

          這就是為什么要理解底層架構(gòu),協(xié)議.不了解你可能在一個公司混得很好,一個學(xué)習(xí)三個月JSP的人混一個工作是完全可以的,整天做一些ctrl+c,ctrl+v的工作,可以滿足一般的"開發(fā)",但你永遠不會成為了一軟件架構(gòu)師,你無法知道100萬用戶和30用戶的應(yīng)用之間如何設(shè)計不同的架構(gòu),你會以為在你的PC機上寫出一個BBS DEMO就可以拿去支持100萬用戶的應(yīng)用.

          記得有一句話叫"把一件事做到極致",從一個JAVA程序員,到現(xiàn)在寫作業(yè)系統(tǒng)引導(dǎo)程序和驅(qū)動程序,我并不會做和個方面的開發(fā)工作,但我覺得這是必須的.只有了解每個bit的產(chǎn)生源泉,你才能對你的應(yīng)用有100%的把握.


          一個真正的軟件人,不在于你掌握了什么技術(shù),而在于你對軟件的認識,和認識過程.
          我把認識過程作為軟件認識或者叫軟件知識的一部份.是以我的經(jīng)驗來說,認識過程是一個非常重要的部分,或許它比軟件知識更重要.一個軟件人對軟件認識的過程,主要反映在兩個方面:

          認識軟件知識體系的方法.
          認識軟件知識體系的態(tài)度.

          方法因人而異,合適你的方法就是最好的方法.而我有我自己的學(xué)習(xí)方法.書(15%)+狗哥(35%)+運行(50%),以我現(xiàn)在的水平,看一本專業(yè)的技術(shù)書,我仍然會把書中的內(nèi)容在機器上運行以得到驗證.并以此加深記憶,而不是象很多高手那樣一周或十幾天就能看完<<thinking in java>>那樣厚的書(這里只是用它來比較厚度,不是為了推薦它).說實話我沒有這種能力.而且,任何技術(shù)方面的書中如果有光盤,我首先會扔了它(當(dāng)然以后可能會從某一地方找到),因為我需要從鍵盤上輸入我想要驗證的內(nèi)容.
          而"運行"并不是把書籍提供給你的例程運行一次,那需要對所能考慮到的所以情況反復(fù)測試,比如一個API,不同參數(shù),不同環(huán)境,以及不同運行次數(shù)的性能,在多線程中的安全性和可并發(fā)性等等.

          我的學(xué)習(xí)方法很笨,就是大量的上機實踐.

          對于學(xué)習(xí)的態(tài)度,這一點猶其重要.好學(xué)不叫學(xué)習(xí)態(tài)度,為了很多理由,我們都需要學(xué)習(xí),誰都能做到.但是如何學(xué)習(xí),學(xué)什么,真正能反映一個人的學(xué)習(xí)態(tài)度.

          按你的計劃,根據(jù)你的需要而學(xué)習(xí),而不是流行什么就學(xué)習(xí)什么.這一點說起來輕松,可很少人做到.

          我是完全從面象對象開始接觸程序的.當(dāng)我還不知道什么叫程序的時候,我聽到有一種東西叫JAVA,然后我認識了它.當(dāng)我用它寫出一個還算可以的應(yīng)用時,我認識到我需要深入到它的底層,我要了解JVM,然后我知道我的知識需要向底層遞歸,然后我從最最基礎(chǔ)開始,數(shù)邏,作業(yè)系統(tǒng),數(shù)據(jù)結(jié)構(gòu),編譯原理,匯編,C/C++等這些看似無關(guān)的知識把我對JAVA的理解推向了一個超越的層次.今天,我仍然說我是一個JAVA程序員,我以它入門,又以它最擅長.但我更要說,沒有匯編,C/C++這些基礎(chǔ),我不會成為一個真正的JAVA程序員.也不會讓我輕松地成為一個C#程序員.所以基礎(chǔ)的東西還是很重要的。

          學(xué)習(xí)態(tài)度的另一個方面是敢于求真的勇氣,在意別人不屑的東西.這一點以后再詳說.

          我相信你有興趣看這個欄目,就應(yīng)該有能力判斷,什么是永恒的,什么是瞬夕的.當(dāng)然你也不會因為我的幾句話而改變你.我甚至不愿意對你有什么影響,即使我的觀點是唯一正確的,我也無法證明它是正確的,何況它并不一定就是正確的!因為我的思想也在發(fā)展.

          posted on 2007-05-08 21:13 feng 閱讀(224) 評論(1)  編輯  收藏

          Feedback

          # re: 關(guān)于JAVA學(xué)習(xí)的幾點看法(轉(zhuǎn)) 2007-05-12 10:12 Dong

          想成為一個好的程序員的路真的是很漫長啊  回復(fù)  更多評論   



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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 沧州市| 奉新县| 阜城县| 炎陵县| 福泉市| 彭山县| 泉州市| 揭东县| 临泽县| 阿图什市| 洛宁县| 东辽县| 梨树县| 满洲里市| 北辰区| 察雅县| 宜州市| 阜宁县| 连南| 梁平县| 东丽区| 永新县| 乡宁县| 郑州市| 五家渠市| 颍上县| 石嘴山市| 佳木斯市| 普安县| 井陉县| 沭阳县| 翁源县| 榆中县| 华阴市| 永年县| 大城县| 搜索| 水富县| 治多县| 武隆县| 来宾市|