我的經(jīng)驗(yàn):編程高手幾種必學(xué)的編程語言
發(fā)表時間:2024-05-30 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]我自己在學(xué)習(xí)編程的過途中有的幾個疑問,1)什么編程語言我需要學(xué)。 2)學(xué)多少種才算可以。最后通過我自己學(xué)習(xí)感受和對其他編程高手(主要是新聞組)的請教,我認(rèn)為找到了滿意我的答案。拋磚引玉,做個參考吧。 對于初學(xué)者,我建議從 python 開始學(xué)。因?yàn)樗谡Z言設(shè)計(jì)上很整潔,幫助文件也很全面。而且也...
我自己在學(xué)習(xí)編程的過途中有的幾個疑問,1)什么編程語言我需要學(xué)。 2)學(xué)多少種才算可以。最后通過我自己學(xué)習(xí)感受和對其他編程高手(主要是新聞組)的請教,我認(rèn)為找到了滿意我的答案。拋磚引玉,做個參考吧。
對于初學(xué)者,我建議從 python 開始學(xué)。因?yàn)樗谡Z言設(shè)計(jì)上很整潔,幫助文件也很全面。而且也是 object-oriented (O-O),盡管我把它作為一個初學(xué)者開始的語言,并不代表它的用處和功能不強(qiáng)大。實(shí)際上它是個功能強(qiáng)大,可以用來做大的編程工程的語言。
我知道國內(nèi)對 python 可能還不了解,因?yàn)樗鄬碚f也比較新(1990),到現(xiàn)在有12年的歷史了,但是它在國外已經(jīng)被廣泛接受和認(rèn)同,快速發(fā)展。不過我知道郵電出版社最近剛出了一本介紹 python 編程的書,大家可以查詢。python 的主頁 www.python.org
Java 也是個很好的語言來開始學(xué)編程。不過它比 python 復(fù)雜。國外的大學(xué)現(xiàn)在都采用 java 作為電腦專業(yè)的凱時語言。總之我覺得除了 python 之外,它也可以作為一個極好的初學(xué)者語言。
不過,會了這兩種語言,并不代表你就是一個編程員了。學(xué)會編程的關(guān)鍵就是 -- “ 編程思想“ 。 學(xué)會怎樣用一種很“ 廣泛的思維“ 去考慮“ 編程問題 “,也就是這種思維是可以放之于任何一種編程語言都可以解決問題的,而不是局限于單純的一種語言。這樣當(dāng)你需要學(xué)習(xí)一種新的語言時,你只要學(xué)習(xí)他的語法等等就可以了,至于怎樣用這種語言解決編程問題不是早就在你的腦子里了嗎。所以,這也就是為什么很多程序員可以拿到一種語言,一兩個星期就可以使用的很熟練了。這,也同樣要求你去學(xué)幾種完全不同的語言。
C 語言是非常有效率的,很多時候你都需要考慮內(nèi)存的管理等底層的東西。很可惜這些都需要你去花很多的時間去做,問每一個 C/C++ 的程序員,用 C/C++ 編程是不是一個很頭疼的事。好消息是,現(xiàn)在的機(jī)器都已經(jīng)很高級,運(yùn)算的很快,在很多時候我們是不用考慮用 C/C++ 去做,忽略它所帶來的好處,當(dāng)然除非這個工程真的很需要處理底層的東西(象 內(nèi)核的編輯,3-D 圖形等)。很多時候 python, java 等都可以實(shí)現(xiàn)。另外在現(xiàn)在很多工程所要求的時間都不是足夠充裕來用 C/C++ 去做,所以在商業(yè)上時間就是金錢,這個代價誰也付不起。
我這里并沒有說 C/C++ 不好,你不應(yīng)該學(xué)。相反我覺得我們應(yīng)該學(xué),但不是作為一個初學(xué)者的語言來學(xué)。在 C 和 C++ 之間,我推薦先學(xué) C 。.因?yàn)樗鄬碚f較小,簡單。作為一種底層編程語言,C,你可以學(xué)到很直接的內(nèi)存管理,指針,等。另外,很多語言都是用 C 來設(shè)計(jì)的, 比如 perl , java, python
其它語言值得一學(xué)的有 perl , Lisp(當(dāng)然你也很一說 effile, proflog),提到 perl 是因?yàn)樗膶?shí)用性,廣泛的應(yīng)用在網(wǎng)絡(luò)和系統(tǒng)管理,perl 提倡 "There is always more than one way to do it" 這主要是從 perl 的語法以及它的獨(dú)特設(shè)計(jì)上來獲得,記得用幾行code 你就可以寫出很有效率的程序?這也就是為什么我很喜歡perl 了。但是perl 的語法著實(shí)讓很多人頭疼 而且對于用 perl 寫的大型程序,維護(hù)性不是很好,python 就沒有這方面的問題,這也是為什么很多 perl 的用戶轉(zhuǎn)向了 python 。很多人用 perl 的目的和用 python 一樣,避免在不要求 C 的效率時 使用 C。
Lisp 據(jù)說是很有啟迪性的語言,會讓你成為一個更好的程序員.(我還沒有到達(dá)那個程度 :-)
我個人推薦 (python, java, C ,perl, 和 Lisp),因?yàn)樗麄兪褂貌煌姆椒▉砭幊蹋恳环N都會在某種程度上交給你些很有價值的東西。
談到學(xué)習(xí)編程,單純的上課和看書只會讓你學(xué)習(xí)語言的特性等,只有學(xué)會用編程的思想來思考才是你終生受用的。這些只能依靠 “ 練習(xí) “ 具體就是 1) 讀程序 2) 寫程序 看似簡單,但堅(jiān)持下來你才會真正體會到,這里沒有其他可以投機(jī)取巧的方法學(xué)習(xí)編程了。
至于學(xué)多少種,是越多越好吧。但并不是指每個都精通,我想大家也沒那么多時間和精力。但在你有了堅(jiān)實(shí)的編程經(jīng)驗(yàn)和基礎(chǔ),了解其它語言的設(shè)計(jì)方法、構(gòu)造會開闊你的眼界,沒準(zhǔn)什么時候你也可以編出自己的語言(咱中國人編的!!) :-)
要提醒大家的是,如果每種語言總是略學(xué)皮毛,然后又急匆匆的跳到另外一種語言,那你就會一事無成,永遠(yuǎn)彷徨在初學(xué)者的門檻邊。我想這句話不只是對程序員,對我們來說也是生活中的一個道理。