1. 程式人生 > >如何學習一門新語言(程式設計師篇)

如何學習一門新語言(程式設計師篇)

上篇談了新手如何學習一門新的語言話題;那麼對於已經掌握一種或一種以上的程式設計師如何學習一門新的語言呢?由於程式設計師已經有一定語言基礎,形成了自己一套學習方法和思維定式,所以這個問題還是和新手學語言是有些差別的。

但是在現實中,我還是發現不少程式設計師因為工作的需要而學習新的語言問題。他們心懷恐懼、不知道自己如何能否學好,而且學習方法非常傳統,象新手一樣:首先去買本這方面的書(或者借本書,或者網上閱讀),看完以後再動手。但是,我不知道他們是怎麼看書的!是從頭到尾地看?還是挑選著看?他們關注書中的什麼內容?第二種情況是程式設計師動手能力特強,先把語言安裝起來,先編起來再說,但是他們不知道這個過程有多長,何時是個頭。無論那種程式設計師你去向他討教如何學習一門新語言時,大都是仁者見仁,智者見智的,而且幾乎沒有人能從頭到尾說得清楚的。若不信,讀者可以自己去回答這個問題。

其實,程式設計師學新語言是有講究的。學習不同型別語言難度最大,相同型別的語言難度就小些。當掌握過程語言(例如:C語言)的人去新學面向物件的語言(例如:C++)時,難度就非常之大,因為兩種語言的思想是完全不同的,用過去的定式去思考新的語言,那種痛苦是難言以表的。例如VB程式設計師去學VFPBP等同是C/S類開發程式相對就容易得多。又例如,VB程式設計師去學ASP就很困難,因為一個是C/S,一個是B/S,雖然語法上相差不大,但是構架差距很大,很難一下子去適應。所以,學習新的語言第一個要分析這個語言的型別是否是自己已經掌握了的,如果已經掌握,那麼學習的時間會很短,一般在一個星期到半個月就行了;如果沒有學過,則學習時間會很長,一般要

2-3個月已上,而且非常痛苦。

對於程式設計師而言,學習新的語言,絕對不要去買什麼書籍,買了書籍也不要花時間一字一句地去看。主要的學習手段就是動手程式設計序,通過編寫範例程式的過程中學習!第二,一定要找到一個懂這個語言的人,如果能夠找到人問的話,一定要找人去問。這個時候和新手找人問是完全不同的,因為新手會聽不懂別人所說一些基本概念,會引起高手的不耐煩的。第三,程式設計師千萬不要自己去“刻苦鑽研”!因為,程式設計師有一定的語言基礎,心中只要記住“流程”、“語法”、“呼叫”(見《程式設計師需要那些具備最基礎的知識和技術》一文)就可以了。

程式設計師在掌握程式設計的流程之後,可以通過編寫以下三個程式:

1) 顯示“hello world!”程式

2) 列印日曆程式

3) “學生學籍資訊”處理程式。

來掌握新語言中語法和呼叫的方法了。 當然程式設計師自己也可以選擇編寫自己的程式以達到學習目的。

  與新手不同的是:

1) 要特別注意語言的語法差別。一般來說,語言的語法差別很小,但是很煩人。程式設計師學過之後往往會混淆不同語言的語法。例如,有的語句是以分號為結束符的,有的語言中的語句是以回車為結束符的。如果混淆的話,你就一會加分號,一會不加分號的。尤其是程式設計師對原先語言特別精通的話,這種慣性是很大的,因此也特別煩人。

2) 要特別注重程式的除錯方法。因為除語言本身之外,如何除錯也可能是不太相同的。除錯對於程式設計師來說太重要了,必須加以關注。

3) 要特別注重程式執行環境。程式編出來了,生成exe了,但並不意味著這個程式就能執行。例如,C語言的生成出來的程式一般是不需要額外的環境的,直接執行就行了。VFP生成出來的程式,則需要系統中安裝VFP系統DLL,因此,VFP程式要做安裝盤。

C#則需要跟多的環境才能執行等等。

4) 要特別注重程式中的各種呼叫。由於新學的語言往往功能更強,涉及呼叫功能更多,程式設計師要關注新語言如何呼叫的問題,呼叫也是今後程式編寫的最重要的內容。

程式設計師按照這種方法去學習新的語言,開始時候一定會感到寸步難行的,會遇到很多困難的。但是,我相信只有程式設計師知道整個學習的流程,知道下一步工作的目標,我想學習進度會越來越快的。我最不希望看到程式設計師在學習上表現出自發、盲目、恐懼的精神狀態。