1. 程式人生 > >為什麼要學C語言及C語言存在的意義

為什麼要學C語言及C語言存在的意義

有同學問過我,我們現在為什麼還要學習C語言,C語言不是過時了嗎?我相信這些同學是屬於對計算機比較感興趣的,他們會從各個途徑去關注計算機語言的發展。不錯,C語言的的確確有點過時。我相信當你們其中的持C語言過時觀點的同學看到這句話時會感到欣慰,因為我也持這個觀點。但我可以告訴你,你被我騙了,我恰恰持的是相反的觀點!認識到事物的缺點就是對這件事物的最大肯定!

先不忙著說我為什麼覺得C語言並不過時,先談談你們為什麼覺得C語言過時(感覺有點羅嗦,呵呵)。你們認為C語言過時的原因估計是看過某些論壇上的評論,什麼時下里JavaC#流行啦,什麼C語言程式沒有友好的使用者介面啦等等,這些評論其實形成了對你們認知的誤導作用。(就像我在寫這篇稿子時收到的一條簡訊一樣,說“

***……,是中國人的就轉發”。我是不是中國人又不是這條簡訊說了算,我就是不轉發,不浪費0.1元人民幣,這條簡訊能把我怎麼樣?難道我就會變成藍眼的美國佬不成?所以我覺得這類評論毫無意義。)

Now就談談我的觀點吧,其實就一句話就可以反駁論壇上的觀點了。大家都知道,不適應者終究是要被淘汰的。所以我要反問的是,既然C語言過時,那為什麼還會存活到現在?想想C語言是在1970s誕生的,現在都三十幾歲了,比我們下沙校區任何一個學生的年齡都長,卻能在龐大的計算機語言群中生存下來,可見它的不一般了。

以上只是反駁了一個觀點而已,沒談到實在上,可能還有人對此懷疑的。所以在此就多廢話幾句,但並不是說要你們全然相信我的,你也可以把這篇文章當作論壇裡的評論一樣處理。

我希望你們不要讓一種存在的事物失去了它的意義,就像你們不希望社會讓你失去了存在的意義一樣。說出來會讓你嚇一跳,現存的計算機語言竟不下百種,針對各種語言開發出的編譯器就更多了。這麼多的計算機語言,我們還僅只知其中的皮毛,甚至不知它們的名字,就懷疑它們存在的意義,你不覺得我們很可笑嗎?各種不同的語言都有它們不同的用途,像JavaC#就更適合於開發網路應用程式,像Fortran就適用於科學計算,Pascal適用於對資料的操作,Basic適用於處理相對簡單的問題,而C就是目前使用者群最大的一門計算機語言了。我猜想還有些語言就專門用作醫療、機械甚至洗衣機、電冰箱中應用程式的開發的。

還沒談到C語言的優點呢。

C語言的優點是其它語言所難及的甚至不可比的,雖然它也有劣勢。優勢之一就是,目前幾乎所有的作業系統均是由C語言編寫的(意思就是說,學好了C語言,你也可以編一個像Windows一樣的作業系統,然後就坐在辦公室裡像畢爾蓋茨一樣細細數你的錢了);第二,它甚至是其它程式語言的母語言,比如Java語言就是用C語言編寫的(怎麼樣?牛吧!);第三,編譯出來的程式幾乎不浪費空閒的空間(不像VB那樣,就一個按鈕都要把它所有的方法呼叫進來);第四,程式執行效率高(你不希望自己的企業執行在一天就只能做一個麵包的基礎之上吧),等等等等。不過列舉C語言的優點也不是去排斥其它語言,我說了,認識一件事物的缺點就是對它最大的肯定。待把C語言掌握了之後再學學其它的語言那也不壞,既有C語言的底又有其它語言的時尚,還怕在這世上無立足之地?

這也就是為什麼我們還要學習C語言的原因。

//注:補充幾句,現在這麼多計算機語言,大體上語法還是相通的。我個人按語法把這些語言分為兩大類(就按所謂的高階語言分,不包括低階語言和更高階的如SQL語言),Basic(如VB)、Pascal(如Delphi)、Matlab等為一類,因為它們的語法很相近,且不太嚴格;C/C++/C#(如Visual系列的),Java等為一類,同樣它們的語法很相近,但非常嚴格。所以要追求流行的JavaC#的話,那你還是選擇學好C語言吧,它是基礎。