天天看點

為什麼大學普遍都教C/C++、Java,而不教Golang、Python、Rust?

教C/C++、JAVA是肯定沒問題的,不教Go、Python、Rust絕對沒有好處,不過我認為學生可以自學,這是長期以來形成的曆史原因。缺少好的教材,老一輩的教授大部分也都沒接觸過這些新的語言,他們又習慣了幾十年的教學,想要改變難度太大。

在寫這篇文章之前,我依然去國内大學MOOC網站檢索了一下相關課程,國内計算機教學很多高校基本上還是以C/C++為主,JAVA、Python等作為應用語言會在大三大四講。我甚至發現在開發環境選擇上,國内很多計算機名校不少選擇CodeBlocks,但是依然會推薦VC6.0,看了之後還是讓我感慨頗深的。

清北複交計算機專業現在基本上是跟美國名校CS專業的課程設定比較接軌了。每個學校的課程安排不太一樣,國外高校是傳統與創新兼備,國内高校基本上還是傳統為主。不過國内高校也有一些特例,清華姚班就比較接軌國際頂尖CS專業的課程安排,專業課基本上也都是全英文授課,交大也有很多課程是英文授課,而且早在多年前交大CS就在嘗試推進Python作為一門主要程式設計語言授課。

為什麼大學普遍都教C/C++、Java,而不教Golang、Python、Rust?

姚期智教授

提一下清華姚班和南大周志華組

國内今天我不會詳細說,國内計算機比較強的學校,清華、國防科大、北大、浙大、哈工大、北航、交大、南大、華科,都是實力非常強的,傳統的兩電一郵、中科大、東北大學等等這些學校的計算機系也都是比較強的。大家也能找自己的同學、同行能夠問到,我就不需要給大家普及了。

今天我要說兩個特殊的,一個是清華的姚班,一個是南大周志華組。

清華姚班是行業内大名鼎鼎的,姚期智教授作為到目前為止,唯一的一個華人圖靈獎得主,在學術界是泰鬥級别的人物,來到清華教學,為清華培養了很多優秀的計算機人才。一個是南大的周志華組,周志華教授在全球機器學習領域也是著名科學家,對的、就是那本大名鼎鼎的西瓜書《機器學習》的作者,要知道南大在國内相對于清北複交浙也沒有生源優勢,在國際上更不能跟斯坦福、麻省理工等世界CS名校相比,但是還是取得了這樣的成就還是很值得肯定的。

為什麼大學普遍都教C/C++、Java,而不教Golang、Python、Rust?

VC6.0

全球頂尖CS專業常用的程式設計語言

全球計算機界的四座金字塔,斯坦福大學、加州伯克利、麻省理工、卡耐基梅隆,在學術界都有着很高的地位,各大企業、高校搶人才,也基本上把這些院校作為首選目标,當然除了四大校,伊利諾伊香槟分校、康奈爾大學,也都是計算機系很出名的,我們來看一下這些學校的一些經典課程相關的程式設計語言。

Stanford大名鼎鼎的CS106A和CS106B,這兩門課非常出名的,很多人也會選公開課看,其中CS106A是JAVA語言為開發語言的入門課程,CS106B是以C++為開發語言的進階課程。

UCB比較出名的是CS61A(計算機程式的構造與解釋),就是傳說中上千人分上下兩層聽的神課,這門課程是用Python來講的,是的你沒有聽錯,确實是Python,這裡我要解釋一下,SICP這本書吧是以 Scheme為主的,不過這本書本質上還是講思想,語言并不沖突和影響,UCB用Python也說明了這點。

MIT 6.00.1x,這門課麻省理工同樣适用Python來講的,這門課全名叫做計算機科學與Python程式設計導論;MIT 6.006,算法導論,這門課主要還是用C語言實作,不過大部分都是讨論算法。當然還有很多經典的課程,比如Stanford吳恩達教授的CS229機器學習、李飛飛教授 的CS23N卷積神經網絡。這些也都是非常經典的課程,大家都可以去看看。

為什麼大學普遍都教C/C++、Java,而不教Golang、Python、Rust?

CodeBlocks

被譚浩強老師和VC6.0支配的恐懼

我自己就是CS專業畢業的,我對于這些是有過體驗的,我自己中學時開始學習程式設計,算是了解得比較早,後來到了大學之後,确實讓我受到了一些沖擊。

學C語言和C++的時候,我們當時上機環境主要也是在Windows XP上跑VC6.0,說實話我是有點難受的,我自己那時候主要還是在Vim(後來主要是Emacs)和CodeBloks寫C/C++,對VC6.0很多不舒服的地方确實不太喜歡,可是考試環境是這個,我就逼着自己去習慣。

大家可能不太了解我看到周志華教授的西瓜書之後,那種感動到真的想要流淚的感覺,早些年在我國計算機專業教材中,真的是缺少精品,很多銷量很高、被廣泛使用的教材确實培養了一代又一代的本土計算機精英,可是也确實給很多學生造成了困擾,這也是我想跟大家唠唠這件事兒的原因。

當時我們的老師除了自己學校的教材之外,給我們推薦了譚浩強教授的那本銷量千萬的C語言神書,當然得向譚浩強老師為首的老一輩計算機教育家緻敬,他們确實為我國計算機人才的培養、為我國計算機高等教育做出了偉大的貢獻,這一點無可厚非。可是我還是要說,這本書真的會給很多學生造成非常大的困擾。我也是在造成困擾之後,選擇了《C Primer Plus》和 K&R C,突然就發現很多搞不懂的事情,豁然開朗。如果大家對Python感興趣的話,可以加一下我的薇信哦:abb436574,免費領取一套學習資料和視訊課程喲~

學習CS我覺得幾點比較重要,好的教材或者書籍,好的公開課尤其是國外那幾所名校那些響當當的課程,不斷的練習和訓練,加強自己的算法等方面的能力,随時準備去了解和學習一些比較新的技術知識,這才能夠真正把這門課學好。