大學生學計算機為什麼不應再迷戀C 語言?

小男孩與芭比 發佈 2020-06-09T21:37:32+00:00

在誕生之初,C語言是為了取代臃腫晦澀的彙編語言、提高編程效率而出現的,當時的計算機硬體還停留在較低水平,常需要程式設計師直接控制硬體,C較好地滿足了當時的需求,但不得不說,那時的軟體開發、應用的「層次」也非常之低。

(本文取自本人的頭條問答,通篇講理,謝謝閱讀!)

目前,C語言的年齡已大於幾乎所有在校大學生了。在誕生之初,C語言是為了取代臃腫晦澀的彙編語言、提高編程效率而出現的,當時的計算機硬體還停留在較低水平,常需要程式設計師直接控制硬體,C較好地滿足了當時的需求,但不得不說,那時的軟體開發、應用的「層次」也非常之低。舉個例子,想在屏上實現一段簡單動畫,都要寫上N多行C代碼,而現在用Python、Java可能只需幾行!

不可否認,從學習理論的角度看,C語言雖麻煩,但學好以後確實能幫助學生更好地理解計算機軟體編程及運行的原理。然而,時至今日,計算機硬體、軟體水平已發生了天翻地覆的改變,應用領域也得到了前所未有的衍生,還像以往一樣讓大學生去「啃」C語言就有些不合時宜了,為什麼這麼說呢?

業內人士都知道,目前除部分嵌入式開發需要C,其它「高級應用軟體」的開發早已全部用上了面向對象(OOP)、甚至是更加高級的語言了,究其原因:隨著計算機硬體能力飆升,來自應用場景的需求也日益複雜,像C這樣老舊的設計觀念根本無法滿足需求了!儘管C語言是「近乎萬能」的基礎語言,儘管它能直來直去玩硬體,儘管它的模塊化設計是OOP基礎,儘管……也許你能找到它100個優點,但面對今天的軟體開發需求,C已經「力不從心」了,這必然導致在校學習C與現實需求存在脫節的問題。

此外,零基礎的學生學習C存在比較大的困難。我們的高中階段幾乎沒有像樣的計算機教育,很多大學生在不太明白計算機基本原理的情況下去學C這樣的「底層語言」,必然存在「認知障礙」,在短短一個學期內,他們是無法很好掌握這門語言的。實際上,很多包括計算機專業在內的大學生到了畢業時,對C語言的理解仍是比較模糊的。

反觀Python、Java、VB之類的OOP語言,語法簡單,對象結構直觀,IDE介面友好,在各自強悍的編譯器支持下,做到了輕語法、重功能、高效率、多應用,這是C語言無法達到的。微軟的VS開發平台是一個標誌性開始,從上世紀90年代開始,在微軟OOP技術支持下,軟體開發、應用、市場攜手共進,軟體生態進入一個飛躍發展期,也是軟體業有史以來最好的「黃金時期」。C語言呢,儘管進化到了同樣支持OOP的C++,但想用好它真的太難了!

經過這數十年發展,「軟體大廈」現已達到一個頂天立地的高度,而我們的學校呢?仍在讓學生孜孜不倦地在這棟大廈的底層徘徊,難道不知道讓他們抬起頭、往上走嗎?如果學校不行,那麼,有志於軟體事業的學子們,你們自己開始吧!

關鍵字: