從初學者到程式設計高手,幾種必學的程式語言

小常說IT發表於2020-12-19

我自己在學習程式設計的過途中有的幾個疑問,1)什麼程式語言我需要學。 2)學多少種才算可以。最後透過我自己學習感受和對其他程式設計高手(主要是新聞組)的請教,我認為找到了滿意我的答案。拋磚引玉,做個參考吧。 

對於初學者,我建議從 python 開始學。因為它在語言設計上很整潔,幫助檔案也很全面。而且也是 object-oriented 
(O-O),儘管我把它作為一個初學者開始的語言,並不代表它的用處和功能不強大。實際上它是個功能強大,可以用來做大的程式設計工程的語言。 
我知道國內對 python 可能還不瞭解,因為它相對來說也比較新(1990),到現在有12年的歷史了,但是它在國外已經被廣泛接受和認同,快速發展。不過我知道郵電出版社最近剛出了一本介紹 
python 程式設計的書,大家可以查詢。python 的主頁   
Java 也是個很好的語言來開始學程式設計。不過它比 python 複雜。國外的大學現在都採用 java 作為電腦專業的凱時語言。總之我覺得除了 
python 之外,它也可以作為一個極好的初學者語言。 
不過,會了這兩種語言,並不代表你就是一個程式設計員了。學會程式設計的關鍵就是 -- “ 程式設計思想“ 。 學會怎樣用一種很“ 
廣泛的思維“ 去考慮“ 程式設計問題 “,也就是這種思維是可以放之於任何一種程式語言都可以解決問題的,而不是侷限於單純的一種語言。這樣當你需要學習一種新的語言時,你只要學習他的語法等 等就可以了,至於怎樣用這種語言解決程式設計問題不是早就在你的腦子裡了嗎。所以,這也就是為什麼很多程式設計師可以拿到一種語言,一兩個星期就可以使用的很熟練 了。這,也同樣要求你去學幾種完全不同的語言。 

C 語言是非常有效率的,很多時候你都需要考慮記憶體的管理等底層的東西。很可惜這些都需要你去花很多的時間去做,問每一個 
C/C++ 的程式設計師,用 C/C++ 程式設計是不是一個很頭疼的事。好訊息是,現在的機器都已經很高階,運算的很快,在很多時候我們是不用考慮用 C/C++ 
去做,忽略它所帶來的好處,當然除非這個工程真的很需要處理底層的東西( 核心的編輯,3-D 圖形等)。很多時候 python, java 等都可以實現。另外在現在很多工程所要求的時間都不是足夠充裕來用 
C/C++ 去做,所以在商業上時間就是金錢,這個代價誰也付不起。 
我這裡並沒有說 C/C++ 不好,你不應該學。相反我覺得我們應該學,但不是作為一個初學者的語言來學。在 
C 和 C++ 之間,我推薦先學 C 。.因為它相對來說較小,簡單。作為一種底層程式語言,C,你可以學到很直接的記憶體管理,指標,等。另外,很多語言都是用 
C 來設計的, 比如 perl , java, python 
其它語言值得一學的有 perl , Lisp(當然你也很一說 effile, proflog),提到 perl 
是因為它的實用性,廣泛的應用在網路和系統管理,perl 提倡 /"There is always more than one way 
to do it/" 這主要是從 perl 的語法以及它的獨特設計上來獲得,記得用幾行code 你就可以寫出很有效率的程式?這也就是為什麼我很喜歡perl 
了。但是perl 的語法著實讓很多人頭疼 而且對於用 perl 寫的大型程式,維護性不是很好,python 就沒有這方面的問題,這也是為什麼很多 
perl 的使用者轉向了 python 。很多人用 perl 的目的和用 python 一樣,避免在不要求 C 的效率時 使用 C。 
Lisp 據說是很有啟迪性的語言,會讓你成為一個更好的程式設計師.(我還沒有到達那個程度 :-) 


我個人推薦 (python, java, C ,perl, 和 Lisp),因為他們使用不同的方法來程式設計,每一種都會在某種程度上交給你些很有價值的東西。 

談到學習程式設計,單純的上課和看書只會讓你學習語言的特性等,只有學會用程式設計的思想來思考才是你終生受用的。這些只能依靠 
“ 練習 “ 具體就是 1) 讀程式 2) 寫程式 看似簡單,但堅持下來你才會真正體會到,這裡沒有其他可以投機取巧的方法學習程式設計了。 


至於學多少種,是越多越好吧。但並不是指每個都精通,我想大家也沒那麼多時間和精力。但在你有了堅實的程式設計經驗和基礎,瞭解其它語言的設計方法、構造會開闊你的眼界,沒準什麼時候你也可以編出自己的語言。


要提醒大家的是,如果每種語言總是略學皮毛,然後又急匆匆的跳到另外一種語言,那你就會一事無成,永遠彷徨在初學者的門檻邊。我想這句話不只是對程式設計師,對我們來說也是生活中的一個道理。 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69990902/viewspace-2743610/,如需轉載,請註明出處,否則將追究法律責任。

相關文章