他說他想學(xué)編程,問我第一門編程語言應(yīng)該學(xué) C 語言還是 Python 。 我都有點驚呆了,初中生,此時已經(jīng)三月底了,這個時候不是應(yīng)該備戰(zhàn)中考嗎(如果初三的話)?他自信地跟我講,中考 750 分的試卷,他能考 650 分以上。這個分數(shù),真的是可以稱得上學(xué)霸級的成績,但畢竟隔著屏幕,也沒法確認真實性。所以,在叮囑他初中生還是以學(xué)業(yè)為主的同時,對于他的問題我還是給了一些我自己的看法。
如果是成年人,我肯定是建議大家一定要把 C 語言當(dāng)作入門語言。 為什么呢?其實很簡單,C 語言是很多編程語言的鼻祖,把 C 語言弄明白了,再去學(xué)習(xí)其它編程語言,就會非???,畢竟語言都是相通的。另外,C 語言是一門非常貼近底層的語言,學(xué)好 C 語言,你會對操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、算法,乃至編譯原理等等基礎(chǔ)知識,都會有更加深刻的理解。別小看計算機基礎(chǔ)知識,這些不起眼的東西,才是程序員內(nèi)功的真正體現(xiàn)。特別是指針,它是 C 語言的靈魂,同時也是很多程序員的惡夢。指針用得好的話,就可以像魔法師手里的魔杖一樣,隨心所欲操縱內(nèi)存;如果不熟悉指針的操作,分分鐘給你 OOM !而 Python 是比 C 語言更高級的語言,屏蔽掉大部分底層接口,讓你更加專注于應(yīng)用的開發(fā)。所以 Python 學(xué)習(xí)起來相對要簡單很多,也更加容易理解,比較接近人類語言。但這也導(dǎo)致了學(xué)習(xí) Python 會讓你脫離基礎(chǔ)知識,對于程序員內(nèi)功的修煉不友好。所以,程序員的第一門語言,強烈建議學(xué)習(xí) C 語言,不管你后面有沒有用到它。但如果是小孩的話,那我更建議學(xué)習(xí) Python 。原因也很簡單,Python 簡單易學(xué),正反饋比較快,容易堅持學(xué)下去。有一些城市甚至都在小學(xué)階段就開設(shè)了 Python 課程。而 C 語言更底層,學(xué)習(xí)起來更難,沒有一定知識積累的話,學(xué)習(xí)起來會非常費勁,不僅打擊自信心,還可能很快就放棄。不過話又說回來,小初高階段,還是把要重心放在學(xué)業(yè)上,編程頂多作為一個課外愛好,否則顧此失彼就得不償失了。當(dāng)然,現(xiàn)在也不少神童級別的人物,從小就開始學(xué)習(xí)編程,比如最強大腦選手 Vita 君(沒錯,我是最強大腦資深粉絲),從 4 歲開始學(xué)習(xí)編程,如今已經(jīng)有 4 年編程經(jīng)驗,就問你怕不怕?