不止一個學生問到我:“老師,為什麼我們的應用程式設計要學C語言而不是別的?C語言不是已經過時了嗎?如果現在要寫一個Windows程式,用VB或Dephi開發多快呀,用C行嗎?退一萬步,為什麼選擇C而不是C++呢?”
不止一個學生問到我:“老師,為什麼我們的應用程式設計要學C語言而不是別的?C語言不是已經過時了嗎?如果現在要寫一個Windows程式,用VB或Dephi開發多快呀,用C行嗎?退一萬步,為什麼選擇C而不是C++呢?”
這個問題三言兩語還真說不全。簡單來說,C語言是電腦程式語言的基礎,是實用的程式設計工具,學好C語言對你今後學習JAVA、C++、VB 等可以打下良好的基礎,因為這些語言大部分都是由C語言擴充或衍生而來的。C可以用於開發比較底層的東西,比如驅動、通訊協定之類,在Unix和 Linux環境中也是不可或缺的,另外在嵌入式領域也大有作為。
站在本專業的角度看,雖然資訊管理對程式設計的要求不如電腦專業那麼高,但如果你不懂得C,基本上就很難理解程式設計的思想,因為想真正學會 程式設計就不可能不跟資料結構打交道,而初學者如果直接從VB或Java入手,基本上很難理解如何構造數組、鏈表、樹、圖等結構,這些東西很容易和封裝、 繼承等概念打架。而用C語言則可以清楚明白地把它們表示出來。也只有真正理解了資料結構,才有機會體驗程式設計的思想和演算法的精髓。
那麼為什麼還會有那麼多人認為C語言過時呢?原因很簡單,90%以上的中國人學的是Windows,用的是Windows,便認為非圖形即不 好。網上許多的觀點是值得懷疑的,什麼時下裡Java和C#流行啦,什麼C語言寫出的程式沒有友好的使用者介面啦等等。然而若一個問題不用圖形介面都可以解 決,那何必做得這麼複雜呢?試想,如果一條資訊可以告訴你現在的時間是什麼,你又何必去翻個鬧鐘出來看看?中國人的心態總是很浮躁,什麼事都想“多快好 省”,可惜終究是“站在巨人的肩膀”上看問題,自己卻長不成巨人(似乎認為沒了微軟的開發工具,我們什麼都做不了)。
所以學C語言的必要性就很清楚了:C語言是基礎(但不是簡單的)。國外的人們拿C語言來處理現實問題,而我們現在還在用它來打磨自己的浮躁,所以我們距離國外的水平還太遠,但又不是不可企及的。
當然,如果想在Windows上開發圖形介面,用MFC或C#、Java都比C好的多。尺有所短,寸有所長。每種語言有自己適用的領域,C並不是萬能的,但想成為程式設計高手,不懂C是萬萬不能的。
至於為什麼選擇C而不是C++,那是因為我們的培養計劃無法提供足夠的學時。想學好學精C++,沒有100學時是不夠的,而我們現在選擇的C語 言都只有44課時的理論教學時間,面對如此豐富多彩的C世界,我已經頗感力有不逮,許多基本內容都得靠學生自學了,哪還能奢望C++啊?
每個程式員在他們的編程生涯中都應該學習C語言,因為它有太多難以忽視的好處了。除了它會給你提供更多的工作機會之外,C語言還會教給你更多的關於電腦的知識。它能給我們提供的裨益,,簡單列舉如下:
1.相比較其他的程式設計語言(像C++,JAVA),C語言是個低級語言。從總體上來說,低級的程式設計語言可以讓你更好的瞭解電腦。
2.裝置驅動程式和作業系統只能用C語言來編寫。現在,你可能還從來沒有編寫過一個裝置驅動程式或者一個作業系統,但是如果你需要去修改他們的時候,怎麼辦?
3.如果你想要得到一份編寫微控制器程式的工作的時候,該怎麼辦?他們都是用C語言編寫的。就因為不想學習一門新的語言,你就準備限制你能得到工作的機會嗎?
4.C的程式比其他用別的語言寫的程式,實現相同的功能,它用的程式碼數更少,而它帶來的運行效率卻更快。有時候,你的程式所需要的速度,只有C語言能做到。
5.如果你學習過C語言,你就能學習現在任何的進階程式設計語言。因為所有的進階語言都是以C語言為基礎的(像JAVA,C++,C#等等)。
6.因為C語言已經存在很多年了,它有廣泛的使用團體並且有大量的現成代碼可以利用。這就使你能在過去程式的基礎上,快速和高效的編寫新的演算法和函數。
7.C語言是一個開源組織的語言。一個開源組織的產物--LINUX,就是用C語言寫的。如果你會C語言,你就能參加這個組織並且還能向眾多的開源組織投稿,比如參加Source Forge並且給他們投稿。
8.C語言是唯一一個向你闡述指標的本質的語言。而C#和Java乾脆跳過了指標這個題目。可是指標確實使C語言變得更加強大。
9.找編程開發方面的工作時,C語言仍然是最普遍需要的語言。所以它值得你花時間去學會它。
10.任何裡面有微處理器的裝置都支援C語言。從微波爐到手機,都是由C語言技術來推動的。
11.好了,說了這麼多,大家應該感到我們應該學習C語言的必要性和迫切性了吧!那就趕快學吧!讓它成為我們取得更大成功的階梯!