為什么有的人不建議初學編程的人把C語言作為入門語言?
從四大CS名校的經(jīng)驗來看,不推薦C語言
美國四大CS名校CMU、MIT、伯克利以及斯坦福的入門編程語言是Python。
這是MIT的,不管你是什么專業(yè)的,如果你只有一點編程基礎(chǔ)或者沒有基礎(chǔ),你都應(yīng)該學習Python來解決一些實際的問題。
這是CMU的課表,同樣也是學習Python,用Python來講解數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)分析以及機器學習:
下面是伯克利的,會講解Python、數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο笠约癝QL:
斯坦福大學CS106A的課表,同樣也是講Python,CS106有多個不同分支的課程,據(jù)說cs106a以前是java,不過我現(xiàn)在看到的是python,cs106也有講javascript和python、以及c++的,不過python已成主力。
從我個人的觀點來看,也不推薦C語言
一是C語言是非常脫離實際開發(fā)的,如果你沒有機會接觸硬件,接觸底層(大多數(shù)人還真接觸不到),不玩一下Linux、單片機、開發(fā)板,你所學的C語言就會停留在題目和考證上,而不會有機會真正解決實際的問題;
二是C語言的知識點相對比較少,是面向過程,而不是面向?qū)ο螅瑢W習它時不會像其他編程語言一樣,會需要你翻閱技術(shù)文檔,也就培養(yǎng)不出一個良好的習慣;C語言在大學里的學習方法淪落成數(shù)學一樣,就是算法、刷題,和程序員學技術(shù)翻閱文檔、不斷實戰(zhàn)是不同的;
三是C語言過于底層,難于理解,而如果要真正掌握C語言,鏈路非常長,大多人在學習的過程中不會有正向反饋,而其他編程語言如Python,兩天就可以愉快的玩耍了;
四是C語言對非計算機、理工科專業(yè)的學生來說,以后基本用不著,對生活、工作的幫助意義不大,而所謂的培養(yǎng)編程思想,遠不及Python、Java、JavaScript這種面向?qū)ο蟮木幊陶Z言。