当前位置: 技术问答>java相关
初学JAVA请指教!放分!3
来源: 互联网 发布时间:2015-05-12
本文导语: 初学JAVA请指教!放分! | 如何進入程式設計的領域 這一陣子,軟體、網路大紅,許多人對程式設計開始感興趣,我收到好一些 Sleepless in Java專欄讀者的來信,不少讀者共同的問題是:如何...
初学JAVA请指教!放分!
|
如何進入程式設計的領域
這一陣子,軟體、網路大紅,許多人對程式設計開始感興趣,我收到好一些 Sleepless in Java專欄讀者的來信,不少讀者共同的問題是:如何進入程式設計的領域?所以我選這 個主題當作 Sleepless in Java 專欄「復刊」的第一篇文章。
寫程式是很有趣的事,可以把自己的想法付諸實行。寫程式的工具很簡單,只要有一部PC,適當的開發環境,就可以上工了。這樣有限的工具卻可以創造無限的可能,這也正是程式 設計迷人的地方。只要你能力夠,你可以將你腦海中的創意寫成程式,變成一套軟體。
培養程式能力,不是一蹴可及的,下面提供我的一些建議,希望對有志進入程式設計領域的你有所幫助。
培養興趣
把程式設計當成興趣可以讓你學得更快樂,學習效果自然會更好。在我到一個單位面試時,主管看了我的履歷之後問我:「你怎麼有這麼多時間學會這麼多東西、做這麼多事?」 我的回答是:「把工作、學習、和娛樂結合在一起,時間就會是別人的三倍。」
我承認我很幸運,可以把程式設計當作賺錢的工作,學習的題材,以及茶餘飯後的休閒活動。不是每個人都像我這般幸運,但是我相信至少大家都可以把它當成興趣。相信我, 調整你的心境,把它當成是興趣,而非苦差事,你非發現你的「程式功力」與日俱增。
慎選程式語言
慎選程式語言很重要,一開始就學太難的程式語言很容易讓你遭遇到挫折而放棄。你可以挑比較容易且有趣的語言下手,建議您可以從下面的語言中擇一:
VB:簡單,好用,書籍多。
Java:比VB稍難,比C/C++簡單,書籍多,用途非常廣,相當有前途。可以當作學習C++的跳板。
Python:簡單,好用,各個平台都支援(包括Windows,Linux,MacOS,BeOS,...)。國外很紅,國內較少人用。原文書不少, 但中文書目前只有一本(歐萊禮出版)。我預期 Python 會是下一個熱門的程式語言。
這三個語言只是我給各位的建議,你也可以多聽聽別人的意見。在選定一個程式語言之後,就要執著,不可以很快放棄,又改學另一個程式語言,否則永遠都只懂皮毛。有句諺語是 這麼說的:「A jack of all trades is master of none」。如果你號稱會C++、Java、…等十種程式語言,只不過每種程式語言都停留在Say Hello的階段,相信面談主管很快就會 對你 Say Goodbye。
當你學精某程式語言,然後想再學另一個程式語言,你會發現有了前一個程式語言札實的根基,學任何新的程式語言都很快。
使用適當的開發工具
現在RAD工具軟體盛行,Visual Basic、Delphi、JBuilder、VisualAge、VisualCafe都是。有了RAD工具,只要「拉一拉,選一選」程式就完成一半了。許多硬底子的程式員 頗不以為然,認為初學者使用RAD工具不是好習慣,不過我倒不這麼認為。我認為RAD工具可以降低初學者學習的門檻,提高興趣。只是,在你學會「拉一拉,選一選」的簡單步驟之後, 應該要找機會精進自己,弄懂內部的機制,不然不僅會有一種不踏實的感覺,甚至有許多程式會寫不出來。我再強調一次:RAD可以當初學者入門的工具,但小心不要使它變成讓你 停滯不前的藉口。
另外也要學會使用開發工具所附的諸多功能(特別是除錯功能)。許多人買了昂貴的 Enterprise 版開發工具,卻只用到copy-paste功能,那麼這套開發工具和 Windows 所附的 記事本就沒有兩樣了。建議您開始使用一套新的開發工具前先花些時間把 User Guide 翻一翻。
現在許多開發工具都有免費版本可以下載,初學者不妨多多利用。
多讀好書,少上課
大量閱讀好書,是精進自己的不二法門。在這種速食時代,許多人沒耐心讀書,反而喜歡到處上課,所以現在到處都是電腦班。如果遇到厲害的好老師,當然上過他(或她)的課 會收穫很大,只是目前好老師的比例實在不高(雖然我自己也在開 Java/Enterprise Java/Java Swing 的課,但我還是得這麼說)。我曾在網路上看到有人說:「沒聽過補習班教 出什麼程式高手」,這倒也有幾分真實性。不過一方面要歸咎老師之外,一方面也要歸咎學生,因為我發現通常上課的學生會在家裡讀書和寫程式練習的比例不高。
相較於上課動輒花費上萬元的高代價,買書只需要區區幾百上千,划算多了,更何況書上的內容又比上課來得多且詳細。不過「買書容易,看書難」。怕自己偷懶的話,找志同道合 的朋友組織「讀書會」,彼此加油打氣,還可以互相切磋。最好是像我前面提到的:把它變成興趣。
加強英文閱讀能力
加強英文和崇洋無關,而是有它實際的價值。許多資訊都是要直接看英文的資料,因為沒有中文版可看。
「可是我的英文很爛!」
這不是理由。沒人生下來就能閱讀英文,都是一點一點累積起閱讀能力的。給自己一個機會,找一本單字文法都比較簡單、且頁數又少的書籍下手,很快地,你會發現技術書籍的 單字就是哪幾個在重複出現,閱讀這樣的書一點都不難。
請注意:原文書的寫作風格也有相當大的差異,有的書的確是不好讀。所以,如果你剛開始要嘗試閱讀原文書,不要挑到像 Bjarne Stroustrup 所寫的 The C++ Programming Language 這類難懂的書……儘管它是經典。
問人之前,先問自己
遇到問題,可以到國內外的程式設計相關討論區去請教別人,如果態度謙遜,且問題敘述清楚,相信許多有經驗的前輩會很樂於參與討論。不過,凡是遇到問題就發問,這不是好事, 因為你會因此越來越依賴別人,而失去了自我解決問題的能力。自己應該嘗試著查書、寫程式測試、甚至閱讀原始碼,來找出答案。如此一來,真的沒辦法而請教別人時,也才能 比較深入地討論。
多寫程式
學程式設計不可以只看書,將隨書光碟的程式執行一次,就認為自己已經學會了。應該開始寫一些程式,且由小到大,由簡單到複雜。找一些有趣的題目(比方說:計算機,踩地雷, 小畫家,俄羅斯方塊),可以提昇寫程式的動力。
我看到許多學生大一的程式作業都是copy同學的,失去了練習的機會。等到二年級之後,想開始寫程式,卻寫不出來了。初學程式設計的階段,應該給自己多一些機會寫程式。
向上延伸,向下延伸,向旁延伸
當你發現你已經可以掌握此程式語言之後,你可以選擇:
向上延伸:學習物件導向分析設計、Design Patterns、以及軟體工程。讓自己具有做大型計劃的能力。
向下深入:深入瞭解內部底層的機制,例如作業系統(甚至硬體)內部。
向旁延伸:學習不同的API,例如:多媒體、資料庫、企業運算…。
另外,資料結構、演算法等基礎也很重要。
結論
一分耕耘,一分收穫,用對方法,持之以恆。每半年檢閱自己這段期間以來的進步,相信你也會很高興地說「我做到了」!
Sleepless in Java
http://www.oreilly.com.tw/sleepless/programmer.htm(转载)
這一陣子,軟體、網路大紅,許多人對程式設計開始感興趣,我收到好一些 Sleepless in Java專欄讀者的來信,不少讀者共同的問題是:如何進入程式設計的領域?所以我選這 個主題當作 Sleepless in Java 專欄「復刊」的第一篇文章。
寫程式是很有趣的事,可以把自己的想法付諸實行。寫程式的工具很簡單,只要有一部PC,適當的開發環境,就可以上工了。這樣有限的工具卻可以創造無限的可能,這也正是程式 設計迷人的地方。只要你能力夠,你可以將你腦海中的創意寫成程式,變成一套軟體。
培養程式能力,不是一蹴可及的,下面提供我的一些建議,希望對有志進入程式設計領域的你有所幫助。
培養興趣
把程式設計當成興趣可以讓你學得更快樂,學習效果自然會更好。在我到一個單位面試時,主管看了我的履歷之後問我:「你怎麼有這麼多時間學會這麼多東西、做這麼多事?」 我的回答是:「把工作、學習、和娛樂結合在一起,時間就會是別人的三倍。」
我承認我很幸運,可以把程式設計當作賺錢的工作,學習的題材,以及茶餘飯後的休閒活動。不是每個人都像我這般幸運,但是我相信至少大家都可以把它當成興趣。相信我, 調整你的心境,把它當成是興趣,而非苦差事,你非發現你的「程式功力」與日俱增。
慎選程式語言
慎選程式語言很重要,一開始就學太難的程式語言很容易讓你遭遇到挫折而放棄。你可以挑比較容易且有趣的語言下手,建議您可以從下面的語言中擇一:
VB:簡單,好用,書籍多。
Java:比VB稍難,比C/C++簡單,書籍多,用途非常廣,相當有前途。可以當作學習C++的跳板。
Python:簡單,好用,各個平台都支援(包括Windows,Linux,MacOS,BeOS,...)。國外很紅,國內較少人用。原文書不少, 但中文書目前只有一本(歐萊禮出版)。我預期 Python 會是下一個熱門的程式語言。
這三個語言只是我給各位的建議,你也可以多聽聽別人的意見。在選定一個程式語言之後,就要執著,不可以很快放棄,又改學另一個程式語言,否則永遠都只懂皮毛。有句諺語是 這麼說的:「A jack of all trades is master of none」。如果你號稱會C++、Java、…等十種程式語言,只不過每種程式語言都停留在Say Hello的階段,相信面談主管很快就會 對你 Say Goodbye。
當你學精某程式語言,然後想再學另一個程式語言,你會發現有了前一個程式語言札實的根基,學任何新的程式語言都很快。
使用適當的開發工具
現在RAD工具軟體盛行,Visual Basic、Delphi、JBuilder、VisualAge、VisualCafe都是。有了RAD工具,只要「拉一拉,選一選」程式就完成一半了。許多硬底子的程式員 頗不以為然,認為初學者使用RAD工具不是好習慣,不過我倒不這麼認為。我認為RAD工具可以降低初學者學習的門檻,提高興趣。只是,在你學會「拉一拉,選一選」的簡單步驟之後, 應該要找機會精進自己,弄懂內部的機制,不然不僅會有一種不踏實的感覺,甚至有許多程式會寫不出來。我再強調一次:RAD可以當初學者入門的工具,但小心不要使它變成讓你 停滯不前的藉口。
另外也要學會使用開發工具所附的諸多功能(特別是除錯功能)。許多人買了昂貴的 Enterprise 版開發工具,卻只用到copy-paste功能,那麼這套開發工具和 Windows 所附的 記事本就沒有兩樣了。建議您開始使用一套新的開發工具前先花些時間把 User Guide 翻一翻。
現在許多開發工具都有免費版本可以下載,初學者不妨多多利用。
多讀好書,少上課
大量閱讀好書,是精進自己的不二法門。在這種速食時代,許多人沒耐心讀書,反而喜歡到處上課,所以現在到處都是電腦班。如果遇到厲害的好老師,當然上過他(或她)的課 會收穫很大,只是目前好老師的比例實在不高(雖然我自己也在開 Java/Enterprise Java/Java Swing 的課,但我還是得這麼說)。我曾在網路上看到有人說:「沒聽過補習班教 出什麼程式高手」,這倒也有幾分真實性。不過一方面要歸咎老師之外,一方面也要歸咎學生,因為我發現通常上課的學生會在家裡讀書和寫程式練習的比例不高。
相較於上課動輒花費上萬元的高代價,買書只需要區區幾百上千,划算多了,更何況書上的內容又比上課來得多且詳細。不過「買書容易,看書難」。怕自己偷懶的話,找志同道合 的朋友組織「讀書會」,彼此加油打氣,還可以互相切磋。最好是像我前面提到的:把它變成興趣。
加強英文閱讀能力
加強英文和崇洋無關,而是有它實際的價值。許多資訊都是要直接看英文的資料,因為沒有中文版可看。
「可是我的英文很爛!」
這不是理由。沒人生下來就能閱讀英文,都是一點一點累積起閱讀能力的。給自己一個機會,找一本單字文法都比較簡單、且頁數又少的書籍下手,很快地,你會發現技術書籍的 單字就是哪幾個在重複出現,閱讀這樣的書一點都不難。
請注意:原文書的寫作風格也有相當大的差異,有的書的確是不好讀。所以,如果你剛開始要嘗試閱讀原文書,不要挑到像 Bjarne Stroustrup 所寫的 The C++ Programming Language 這類難懂的書……儘管它是經典。
問人之前,先問自己
遇到問題,可以到國內外的程式設計相關討論區去請教別人,如果態度謙遜,且問題敘述清楚,相信許多有經驗的前輩會很樂於參與討論。不過,凡是遇到問題就發問,這不是好事, 因為你會因此越來越依賴別人,而失去了自我解決問題的能力。自己應該嘗試著查書、寫程式測試、甚至閱讀原始碼,來找出答案。如此一來,真的沒辦法而請教別人時,也才能 比較深入地討論。
多寫程式
學程式設計不可以只看書,將隨書光碟的程式執行一次,就認為自己已經學會了。應該開始寫一些程式,且由小到大,由簡單到複雜。找一些有趣的題目(比方說:計算機,踩地雷, 小畫家,俄羅斯方塊),可以提昇寫程式的動力。
我看到許多學生大一的程式作業都是copy同學的,失去了練習的機會。等到二年級之後,想開始寫程式,卻寫不出來了。初學程式設計的階段,應該給自己多一些機會寫程式。
向上延伸,向下延伸,向旁延伸
當你發現你已經可以掌握此程式語言之後,你可以選擇:
向上延伸:學習物件導向分析設計、Design Patterns、以及軟體工程。讓自己具有做大型計劃的能力。
向下深入:深入瞭解內部底層的機制,例如作業系統(甚至硬體)內部。
向旁延伸:學習不同的API,例如:多媒體、資料庫、企業運算…。
另外,資料結構、演算法等基礎也很重要。
結論
一分耕耘,一分收穫,用對方法,持之以恆。每半年檢閱自己這段期間以來的進步,相信你也會很高興地說「我做到了」!
Sleepless in Java
http://www.oreilly.com.tw/sleepless/programmer.htm(转载)