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