今天在知乎上看到這樣一個(gè)問題:為什么現(xiàn)在部分985高校還是給大一上C語言課:
這個(gè)題主是某985CS專業(yè)學(xué)生,發(fā)現(xiàn)學(xué)校居然給大一教C語言程序設(shè)計(jì),而不是現(xiàn)在最流行的JAVA或者Python,不由得產(chǎn)生了疑問。
評(píng)論區(qū)非常精彩,不少答主認(rèn)為:C語言真的沒什么卵用了,學(xué)??赡苁墙虒W(xué)方法太落后了,才會(huì)繼續(xù)教C語言。
不得不承認(rèn)不少大學(xué)計(jì)算機(jī)專業(yè)的教學(xué)方法的確有點(diǎn)落后,但大一學(xué)C語言還真沒什么問題。
編程指北之前在朋友圈發(fā)了個(gè)問卷,調(diào)查國(guó)內(nèi)大學(xué)第一門語言到底有多少是用的 C 語言。
結(jié)果也是很符合預(yù)期,使用 C 語言做第一門編程語言課的大學(xué)達(dá)到了 90% 以上。
更是在知乎看見一個(gè)問題:
問為什么還有985高校給大一上 C 語言課,如下:
的確啊,C 語言學(xué)完還是只能在黑窗口算算水仙花數(shù)、做做圖書管理系統(tǒng),哪有 Python 那么豐富的庫(kù)。
但是 C 語言可能是唯一最適合用來學(xué)習(xí)一系列計(jì)算機(jī)基礎(chǔ)課的工具和媒介。
比如操作系統(tǒng),實(shí)驗(yàn)幾乎都是用的純 C 寫的 lab;
又比如匯編,學(xué)習(xí)的時(shí)候可以和 C 語言對(duì)應(yīng)起來,了解if、for、while、數(shù)組訪問等對(duì)應(yīng)匯編是怎么樣的;
并且 C 語言本身抽象層次非常低,語法也很簡(jiǎn)單,沒什么語法糖,很貼近操作系統(tǒng)。
而且眾所周知,現(xiàn)如今幾乎所有的編程語言,都是以 C 語言為基礎(chǔ)拓展的:C++、Java、Go、Python、JS 等等,所以你會(huì)發(fā)現(xiàn),學(xué)好了 C 語言,別的語言都很容易上手,更不會(huì)因?yàn)椤罢Z言層出不窮”而焦慮。當(dāng)然,你也可以跳過 C 語言學(xué)其他的語言,不過,技術(shù)債遲早是要還的。
不夸張地說,想要成為高手,就必須吃透 C 語言。只有如此,你的技術(shù)之路才能走得更遠(yuǎn)。
所以,與其吐槽說 C 語言“過時(shí)”,不如想想,如何更好地?fù)肀?、使用它。畢竟,大部分人學(xué) C 之路都頗為坎坷,會(huì)遇到很多困難,比如:
掌握基本語法,理解 C 程序的運(yùn)行細(xì)節(jié);
掌握標(biāo)準(zhǔn)庫(kù),性能優(yōu)化以及工程化內(nèi)容,搞懂如何寫一個(gè)可以用在生產(chǎn)實(shí)踐中的 C 程序;
聯(lián)系客服