“你好!我比較喜歡編程,而現(xiàn)在編程語言比較多,我比較喜歡c系列的語言,但是有VC,C++,builder c++,java等, 不知那種語言好,請(qǐng)問選那種語言比較有實(shí)力和適應(yīng)社會(huì)的能力好呢?謝謝!!!”這是一位網(wǎng)友的來信。
借著這位網(wǎng)友的來信,我想談一談關(guān)于程序語言的選擇問題。但是,我知道,由我這個(gè)剛?cè)氲,或者說還未完全入道的小弟來談這個(gè)問題,總有點(diǎn)“班門弄斧”之嫌。所以,如果有說得不恰當(dāng)?shù),還希望各位大哥不吝賜教。
這位網(wǎng)友的來信是很有代表性的。有好些朋友想學(xué)編程,但是覺得不知該學(xué)什么好。的確,當(dāng)各種RAD工具出現(xiàn)之后,程序設(shè)計(jì)似乎已經(jīng)變得太容易了。有人就說,用RAD工具,你一行代碼都不需要寫就能編出一個(gè)很好的程序。
在這篇文章中,我不想比較語言優(yōu)劣,也不想評(píng)選最能適應(yīng)社會(huì)的語言。我只想就這個(gè)問題談幾點(diǎn)我自己的觀點(diǎn)。
一、任何一種語言之所以能夠存在,它必定有它可取的地方,同時(shí)語言之所以需要發(fā)展,也說明任何語言都是有自己的劣勢的。我常常在網(wǎng)上,特別是一些大學(xué)的論壇上見到關(guān)于BCB與VC誰優(yōu)誰劣,C#會(huì)不會(huì)取代C++這種論題,而常常這種話題是最熱門的話題。我沒有資格去評(píng)價(jià)這種現(xiàn)象,但是我是從來不參與這種討論的。因?yàn)槲矣X得這種討論沒有任何意義!每種語言之所以能成為一種語言,它必然有它的可取之處。比如說,BASIC語言的簡便易學(xué),C語言的簡潔高效,C++語言的功能強(qiáng)大。但是如果你是初學(xué)計(jì)算機(jī)語言,我卻會(huì)建議你去學(xué)Pascal,為什么?因?yàn)樗慕Y(jié)構(gòu)嚴(yán)謹(jǐn)。要培養(yǎng)嚴(yán)謹(jǐn)?shù)木幊塘?xí)慣,它可能是最好的了。
二、每個(gè)人學(xué)習(xí)的目的不一樣,可以選擇的學(xué)習(xí)對(duì)象會(huì)不一樣的。如果您是想做一些小程序的開發(fā),我覺得VB是很好的。簡便易學(xué)。如果您要做的是大項(xiàng)目的開發(fā),VC和BCB都是比較適合的。如果您有C或C++語言的背景,也許您會(huì)喜歡BCB。但是如果您要做UNIX下的軟件開發(fā),可能C和C++還是首要的選擇。因此,根本就沒有一種統(tǒng)一標(biāo)準(zhǔn)來衡量哪種語言是好的,我覺得只要是適合您的語言就是好的。
三、任何一門語言,入門是很簡單的,但是要想能真正達(dá)到實(shí)用,能夠?qū)懗龊玫某绦蚴切枰ê芏鄷r(shí)間的。沒有速成法,沒有捷徑。對(duì)于VB或BCB等一類RAD工具來說,要想入門,大概一個(gè)星期差不多了吧。但是,如果您想做的是軟件開發(fā),可能不是一兩個(gè)星期能解決問題的。
四、軟件并不僅僅是代碼。要想開發(fā)出好的軟件,還有其他別的知識(shí)是必需要掌握的,特別是軟件工程的東西。現(xiàn)在由于有好些人員對(duì)于軟件開發(fā)總是認(rèn)為,能寫出代碼就算完成了開發(fā),他們認(rèn)為軟件就是寫代碼。但是事實(shí)并不是這樣。
五、為了真正學(xué)好一門語言,學(xué)一些與此相關(guān)的知識(shí)我覺得是很有必要的。比如您想要學(xué)習(xí)Java,如果您學(xué)習(xí)一些面向?qū)ο蟮闹R(shí)絕對(duì)有助于您對(duì)于這門語言的理解。如果您能學(xué)習(xí)一些標(biāo)準(zhǔn)C++方面的知識(shí)對(duì)于您學(xué)習(xí)VC或者BCB都絕對(duì)是有好處的。
六、對(duì)于一個(gè)編程入門者來說,選擇一門容易上手的工具可能是最好的,因?yàn)閷?duì)于初學(xué)者來說,樹立信心可能比編程本身更來的重要。VB和BCB可能是最好的選擇。VB和BCB有一個(gè)共同的特點(diǎn)就是上手容易。但是要清楚的是,容易上手并不代表它很容易駕馭,要真正精通一門語言絕對(duì)不是一件很簡單的事。
七、語言的學(xué)習(xí)不可過于功利。我想我說這句話可能得冒被拍的危險(xiǎn),但是我還是要說的。有些朋友說,想學(xué)一門很容易掌握的語言以便于好找工作的。還有的朋友說,想學(xué)能夠適應(yīng)社會(huì)形勢的(我都有點(diǎn)沒搞懂他這句話是指什么)。但是,我要說,如果您已經(jīng)到了必須找一份工作來準(zhǔn)備明天的早飯的話,我勸你還是做點(diǎn)別的吧。軟件的開發(fā)并不是一朝一夕的事。
就著這位網(wǎng)友的話說了這樣一大篇,不知是不是有點(diǎn)您認(rèn)為有用的東西,如果您覺得一點(diǎn)有用的東西都沒的話,請(qǐng)盡管“拍”吧。