計算機專業(yè)應該先學C語言還是Python?
為什么國內(nèi)計算機專業(yè)大多都是從C語言開始學起,而國外大多是先學Python呢?
其實在十多年前國外計算機專業(yè)也主要是先學C、C++、Java,大部分計算機科學方面的教材都是圍繞這些語言而編寫的。經(jīng)典教材是編程語言一個非常重要的風向標。比如數(shù)據(jù)結(jié)構(gòu)、算法這些本來就不依賴編程語言,不過經(jīng)典教材采用也仍是這些編程語言,當然它們也用偽代碼。
此外,國際信息學方面的競賽主要采用的是C++,國內(nèi)乃至國外最知名的高中大多會去參加IB和AP考試,而它們選用的則是Java。
國外那些頂級名校計算機專業(yè)先學Python的現(xiàn)象也只是最近10多年的事情,Python主要用于講解程序設計、軟件開發(fā)、計算機科學概論、數(shù)據(jù)分析基礎(chǔ)、人工智能入門以及數(shù)據(jù)結(jié)構(gòu)與算法等課程,并為此也出版了很多Python與這些課程結(jié)合的經(jīng)典書籍。這些書也陸續(xù)被翻譯成了中文,這些書我也買了不少,就想看看他們是怎么教的。
美國有47%的高中會教編程,而據(jù)美國一些大學的統(tǒng)計,大概只有1/3的大一新生有編程基礎(chǔ),大部分大一新生對編程了解得并不多。
由于Python號稱萬能膠水語言且上手容易且在數(shù)據(jù)科學、人工智能也扮演著重要角色,因此就入門而言,相信沒有哪一門編程語言比Python更合適了。
盡管很多程序員對Python的流行比較抗拒,或者認為Python只是炒作而言;還有一些資深程序員在了解了C語言對于計算機系統(tǒng)的重要性之后,更是強調(diào)計算機專業(yè)非先學C不可。
確實C語言對計算機專業(yè)來說極其重要,不過從教育的循序漸進和知識面的拓展方面,C卻并不適合入門,而且用Python入門也并非不學C語言。