feng

          飄逸~~~~~life

          關于Java

          因為自己學習也沒有到可以指導大家學習的地步,但是卻可以發一點他人有用的學習經驗

          下面的東西可能有幾個月了,不過應該還可以看看的,有點指導意義的,大家都努力一起學習吧!


          Java現在熱的不得了,似乎是個人都在學。網站也動不動就說jsp,servlet,
          ejb。
              我也見過不少需要java的公司的小頭目(項目經理一級吧),他們卻抱怨缺
          乏java的人才。以前我以為只是懂perl的少,畢竟摸過perl的不多,所以不太理解。
          現在我算是明白了,很多人學java不是把他當作一門語言來學的。寫applet的就只
          知道如何畫圖,寫jsp的把jsp當asp用,在程序中用過數據庫就算是懂數據庫。

              Java是一種計算機語言。我覺得不懂計算機就去掌握一種計算機語言是不可思議的。
          你首先得了解世界,才能用語言去描述這個世界。對于盲人來說,顏色永遠只是個
          抽象概念。我很理解那些搞不清tcp和http的jsp程序員,因為他們可能永遠不會遇到
          “裸露”的tcp連接。他們也不需要了解垃圾回收和互斥,因為http基本都是短連接。
          或許他們活得很實在,但是我絕對不會認為這些人“懂”Java。

              當初剛學Java的時候,我覺得它的語法和C++別無二致。那時候我精通C++的
          語法規則,繼承規則,重載、超載、虛函數、內存管理的語法,然而我完全不明白
          OO,完全不懂TCP/IP,完全不明白操作系統。那時候我覺得自己是個天才,自以為
          在半年內學會了C++。很可惜,懂語法規則并不等于懂計算機語言。我現在對tcp/ip,
          sql,操作系統和面相對象有一些膚淺的認識,回過頭去看過去,發現自己整一個傻冒。

              算法雖然不是語言的一部分,但是不懂算法的人,怎么可能寫程序呢?算法在很
          大程度上與語言無關,然而卻是一個程序員的基本素養。很難想象,只知道窮舉的人
          能寫出什么高效率的東西,雖然在很多情況下窮舉是最優算法。我的說法并不嚴謹,
          并不是說一個程序員非得能憑空想出快速排序才叫程序員。我只是想強調對算法的
          知識是很有必要的。

              面向對象的編程方法在很大程度上是一種革命,與面向過程的編程相比,面相對象
          的編程與語言的有很大關系。拿C++或者SmallTalk寫出來的東西區別很大。但是面向
          對象的精髓卻是一致的。Java就是一種專門為面相對象編程而設計的語言,所以,我認
          為不懂OO的人根本不可能懂java(等他懂Java的時候,自然明白什么是OO :-D)。
              
              雖然很多人說學習Java不需要任何C++/C的經驗,甚至可以把它作為第一門
          語言來學習。我也很同意,但是不要以為找幾本Java書就可以從一個菜鳥變成
          大蝦。Java只是一種語言,只是一種工具,你不可能指望從Java的教材中精通
          數據庫,了解TCP/IP細節。當然,你肯定可以通過Java學會OOP。Java是跨平臺的,
          但是不等于你可以完全不了解平臺,否則你可能連簡單的rpm -i都不懂(不懂
          沒關系,因為不一定非得用Linux),你至少得學會安裝它。

              如果你希望我開一個與Java無關的單子,我會列出:計算機體系結構、
          匯編語言、SQL和數據庫知識(不是Oracle的手冊!我說的是基礎)、計算機
          網絡(比如同名教材)。如果有時間,可以看看操作系統,只是簡單的了解,
          至少你應該看看五個哲學家的問題。如果窮極無聊,我推薦你看看應用密碼學。
          事實上,計算機科學在很大程度上是數學,離散數學、形式邏輯、拓撲學,
          相關的知識很有幫助。

              不要被我的清單嚇跑,羅馬從來就不是一天以內建好的。如果你是計算機
          或者電子系的學生,上面的大部分東西都是必修課或選修課,你只需要理解教材,
          成績根本不重要。如果你完全沒有計算機基礎(我是說系統的學習),你得學習
          很多枯燥的理論知識,但是那絕對值得。我個人比較羨慕計算機系的學生,呵呵。

              事實上語言是觸類旁通的,只要你精通任何一門語言,你可以很快地
          掌握另外一門語言。所以沒必要猶豫不絕,學習C++并不妨害你精通Java。
          我只是覺得語言只是一種工具,不要被工具所羈絆——雖然這正是sun的險
          惡用心。我只想說明,只有大量的實際編程才能真正使你掌握一門語言。
          所以,如果你的項目是C++,沒必要花時間學習Java,當你精通了C++,你
          會發現Java很easy。如果你有選擇的余地,我強烈建議Java,用執行效率
          換開發效率是非常劃算的。

              我并不認為寫程序是一門藝術,至少寫代碼不是。如果你打算一輩子
          做代碼生成器,也許只有等到程序機器人出現,你才會后悔。很多勞動,
          尤其是做網站,都是簡單重復腦力勞動,對你的學習沒有太大的幫助。如果
          你只是為了掙點零花錢,也沒什么好說的。

              最后我想說明一點,我并不是什么大牛,也不精通Java,事實上我前幾天
          才明白wait是做什么的。我學習Java的時間不到半年,我自認為了解OOP的時間
          和這一樣。我在上面開出的單子我自己也不怎么了解,我甚至沒有系統地學習
          離散數學。但是我覺得這并不妨礙我闡述真理。
              說了半天,基本上沒有說到Java,不好意思。
              拜托,我只是個民工。

          --
              大部分人的簽名檔都是寫給別人看的,不過這次我卻寫給我自己看

                  ●  執著有時是一種美德,但是它通常使人變得盲目
                  ▲  在注重結果的時候很容易忽略過程,在嘲笑日本
                      游客的旅游方式時,卻沒有看到自己也常常這樣
                  ◆  沒有必要和時間賽跑,靜下心來思考反而省時間 

          posted on 2007-05-16 21:22 feng 閱讀(239) 評論(1)  編輯  收藏

          Feedback

          # re: 關于Java 2007-05-16 22:55 李靜

          恩,我知道了,下面的幾句很有用的
          呵呵,就那個看懂拉!  回復  更多評論   



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


          網站導航:
           
          主站蜘蛛池模板: 抚顺县| 体育| 高碑店市| 观塘区| 鄯善县| 资阳市| 平昌县| 全椒县| 祁阳县| 尼木县| 临西县| 新建县| 莆田市| 鹤山市| SHOW| 车致| 抚顺县| 麦盖提县| 怀来县| 滦平县| 贡觉县| 蓬溪县| 宿迁市| 彭水| 昌宁县| 寻乌县| 区。| 潍坊市| 乃东县| 阳谷县| 聂荣县| 东乌珠穆沁旗| 正定县| 方城县| 宜良县| 茌平县| 汨罗市| 罗平县| 科尔| 柞水县| 大同县|