為什麼國外本科學的第一門程式設計語言通常是Python或者JAVA,而我國大部分是C?

來源:互聯網
上載者:User
dacity有兩門編程入門課:Intro to Programming in Java
Introduction to Programming

以及Introduction to Computer Science, 這門用的是python
Intro to Computer Science Class Online (CS101)

我沒見過國外哪個學校第一門編程課是用C語言的,但國內基本上都是用C的(包括我自己在內)
編程入門課除了Udacity,Coursera,edX上也有很多,基本上都是用Java或python。
我完整地跟過Stanford的Programming Methodology,挺不錯的,用Java

我猜:
因為C很難寫。。。初學者沒必要整天搞指標、記憶體配置這些的, 如果用python教的話我覺得我興趣會大很多,畏難情緒會弱化很多。。走的彎路錯過的青春,譚浩強的C語言毀人不倦的。。。

回複內容:

由寫分號到不寫分號易,由不縮排到縮排難.CMU, Caltech, Cornell 也都是用的Python...

是的,雖然C的文法簡單明了,但必須得自己管理記憶體是一件很頭疼的事。
而Java的文法過於麻煩,比如你去對比一下Java和Python裡面用List/Array的代碼數...

依我看來,Python是這三者中最好的Intro to CS語言。
在新手階段你無法體會到C和Java的強大,但你可以體會到Python的簡潔。
關於C,合理分配記憶體帶來的效率應該是在至少在Intro課程後再學一門演算法再來教的。
新手一開始可能會被SegFault弄得不想學了。
還有,OOP很難用C來教。
至於Java,它真正的強大是易於團隊合作開發/程式的通用性(一個JVM什麼平台都可以運行)。
新手則會過多關注文法而無法領會Intro to CS的要點。

對於真心想學好的人,其實我的建議是:
第一節課用Racket/Scheme + SICP教。
接著學Python。
之後Java,C就隨便了。

如果不是那麼認真,Python入門也可以。只是最好也稍微側重一下Python中的Functional Programming,介紹一下lambda之類的。
個人觀點是FP要儘早學,很開闊視野。
並且Intro課程中的Recursion之類知識點,個人認為只有用FP才能充分體現出其優雅性。
雖然Python也很能體現啦。我靠,必須是使用我們由中國人自己掌握核心技術的譚浩強發明的C語言啊。
----------------------
/*哎呀,別頂了各位,我都不好意思了。因為python和java這種進階語言更加用以上手。現代編程課程主要教的是資料類型,變數作用範圍,邏輯,條件,迴圈,這是面向過程階段的。還有物件導向階段的繼承,多態,抽象等特性都能很好滿足。並且它跨平台,容易出產品。如果你用C系,尤其是在linux下,你需要care的和特定語言相關的細節太多,不是老學究或者是系統工程師,在入門階段瞭解太多意義不大。*/
lz調查過麼...
至少我專業是大一開始就學Java的,加上一些基礎課程(可能會涉及到C,但很少也不會單獨教C)
而且本科四年完全和語言相關的課程只有Java,C/C++只是會在很多課程中涉及。國內教育制度太垃圾,主要靠自學,感覺python比較適合入門。讓人有成就感。c語言以後在學,學完python代碼就會寫的很漂亮。既簡單深入學的話又能做大項目。不喜歡微軟我覺得中國這麼做沒什麼不好。
原因
一句話:不學C,無以言

多扯一點:因為C是“中級語言”,可以上可下,有簡單低階的效能模型(物件模型),對軟硬體專業學生都有好處。學C更有利於學硬體、學基礎軟體。學Python/Java等則對“解決問題”更有好處。
兩種不同的思路。“想學的”,應該,也會多學幾種語言。“不想學的”,學哪個都沒有關係。因為國外第一門課重點在於電腦導論,講述重要的程式概念的,不是講語言的,需要的是語言陷阱少,入門易,文法簡單,特性豐富,能夠用來闡述概念。python正好具有上述特性。

國內入門課就真就是在講文法了,for,while文法都能講幾節課(這裡要是從抽象代數角度講還不錯,並適時引入不變式,前條件,後條件。)

c更適合在system programming課程裡簡單介紹下,然後用於系統編程,類似於cmu的ics和ucb的cs61c。單獨開課算個秋水仙數,純屬浪費。

匿一個。。
哈工大今年秋季學期 大一新生上的第一門程式課
就是python不是c。。

C很明顯是比Java、Python更好的本科生入門語言,因為可以和“電腦群組成原理”、“作業系統原理”、“演算法”、“編譯原理”這幾門課緊密結合起來。Java、Python那麼簡單的東西自學就是了電腦系學生學習C語言居然成了落後和低水平的標誌?
不願意學改行幹別的去。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.