大家好,我是良許。
前兩天在抖音直播的時候,突然來了一位不速之客……
他自稱是初中生,一開始我還有點不太相信,直到跟他連麥,聽到他還略帶一些稚嫩的聲音,我才知道,他沒有騙我……
他說他想學程式設計,問我第一門程式語言應該學 C 語言還是 Python 。
我都有點驚呆了,初中生,此時已經三月底了,這個時候不是應該備戰中考嗎(如果初三的話)?
他自信地跟我講,中考 750 分的試卷,他能考 650 分以上。
這個分數,真的是可以稱得上學霸級的成績,但畢竟隔著螢幕,也沒法確認真實性。
所以,在叮囑他初中生還是以學業為主的同時,對於他的問題我還是給了一些我自己的看法。
如果是成年人,我肯定是建議大家一定要把 C 語言當作入門語言。
為什麼呢?其實很簡單,C 語言是很多程式語言的鼻祖,把 C 語言弄明白了,再去學習其它程式語言,就會非常快,畢竟語言都是相通的。
另外,C 語言是一門非常貼近底層的語言,學好 C 語言,你會對作業系統、資料結構、演算法,乃至編譯原理等等基礎知識,都會有更加深刻的理解。
別小看計算機基礎知識,這些不起眼的東西,才是程式設計師內功的真正體現。
特別是指標,它是 C 語言的靈魂,同時也是很多程式設計師的惡夢。
指標用得好的話,就可以像魔法師手裡的魔杖一樣,隨心所欲操縱記憶體;如果不熟悉指標的操作,分分鐘給你 OOM !
而 Python 是比 C 語言更高階的語言,遮蔽掉大部分底層介面,讓你更加專注於應用的開發。
所以 Python 學習起來相對要簡單很多,也更加容易理解,比較接近人類語言。但這也導致了學習 Python 會讓你脫離基礎知識,對於程式設計師內功的修煉不友好。
所以,程式設計師的第一門語言,強烈建議學習 C 語言,不管你後面有沒有用到它。
但如果是小孩的話,那我更建議學習 Python 。
原因也很簡單,Python 簡單易學,正反饋比較快,容易堅持學下去。有一些城市甚至都在小學階段就開設了 Python 課程。
而 C 語言更底層,學習起來更難,沒有一定知識積累的話,學習起來會非常費勁,不僅打擊自信心,還可能很快就放棄。
不過話又說回來,小初高階段,還是把要重心放在學業上,程式設計頂多作為一個課外愛好,否則顧此失彼就得不償失了。
當然,現在也不少神童級別的人物,從小就開始學習程式設計,比如最強大腦選手 Vita 君(沒錯,我是最強大腦資深粉絲),從 4 歲開始學習程式設計,如今已經有 4 年程式設計經驗,就問你怕不怕?
但這種人畢竟是現象級人物,而我們普通人還是老老實實認清自己的定位,上課好好聽講,作業好好完成,學有餘力再去做其它事情。
同時家長也不要硬逼孩子學這學那,過早讓孩子學習不是這個年齡階段的知識,只會揠苗助長,百害而無一利!
(想想我的童年還是挺幸福的,畫畫、做手工、做收音機、捉泥鰍、打鳥蛋、玩彈珠……80 後農村孩子該有的我都有,哈哈)