1樓:uuu ggg
語言只是一種工具,工具都有其合適的應用場景,你不能說一切都用c++或都用python。因此與精通一門程式語言相比,更重要的是掌握程式設計的思想和原理。一旦你入了門,就可以迅速上手任何常規語言。
回到題目,c++比之python最大的優勢恰恰就是繁雜,你可以明明白白的看到值和引用的區別,記憶體的分配,范型,等等,見識到各種語言的特性。而以我面試的經歷看,用python的同學經常忽視底層的情況,比如把陣列相加看作o(1)。
以上並不是說c++作為程式語言更優秀,而是說作為計算機專業的學生應該著重理解「道」而非「術」。
2樓:Capablanca
MIT就是用Python入門,之前是scheme。
c++是不合適用來入門的,語言設計比較雜亂,語法多邏輯少,會給新人比較多的干擾。
3樓:小豪
我是覺得直接學python比較好。
程式語言課程學的是程式設計基本方法、思想、原則,以及程式設計實戰,而c/c++太偏重底層了,很多東西放在作業系統課程學習比較好,大一直接學c語言其實很難理解,也很難直接應用。
4樓:
這個問題有點兒意思,但是好像計算機系真沒有直接開Python,不教C/C++的。
原因很簡單,因為計算機的教學目標肯定是對硬體、軟體等各方法都有足夠的知識了解。
而如果用Python教學,就意味著,記憶體這個東西大概率不會形成乙個直觀的概念了。Python本身是沒有記憶體分配與釋放這一概念的,因此「先入為主」這件事足以影響大部分人。而做為乙個計算機系的學生不了解記憶體?
實在是讓人很費解,比我當年教育某大的畢業生,發現他不了解斷點還讓人難以接受吧。
儘管Python有效率高,應用庫足夠多,應用廣泛,甚至在現在與AI可以說是結合得最好的一門語言。但是它仍然不是一門足夠好的教學語言。
C/C++的優點:
與底層有足夠的結合能力,可以直接應用組合語言來程式設計。同時所有的作業系統都可以無縫應用C/C++語言。
歷史足夠長,儘管Python也是一門足夠古老的語言,但是C/C++這個佔據了字母 「C」位的語言,歷史可以說一目了然。這樣,大家可以通過 C/C++的變化,了解現代語言的進化過程。也可以說是一門活到現在仍然有活力的進化語言不是嗎?
語言的特性足夠豐富,C相對C++就是缺乏了物件導向,所以大部分CS系會選擇C++。
當然了,我一直覺得C/C++這個語言在現代工程中應用的範圍確實不多了。但是在核心位置是從來沒有被動搖過的。
作業系統、資料庫、高效能伺服器、通訊這幾個領域,除了Go還有極少的Erlang,好像用別的語言開發的非常少。
但是一定要記住,光學C++語言是不足以支撐你開發軟體的。一定要去看一下,這個全工程的世界。
下面這本書,能讓你更深刻的理解,計算機硬體與軟體結合在一起是什麼東西。
5樓:GrowUp233
我來打個賭,百分之99寫python的不知道descriptor是什麼東西。你不懂c,肯定懂不了這個,即使它在python裡面很常用。
6樓:
因為c++涉及到的專業還是很多的,雖然說我是學電氣自動化及其技術專業的,但是在很多課程上都是應用到了c++這門課程的知識,且這門課程最寶貴的就是他的理論邏輯,所以如果能夠學會c++的話,在其他程式語言裡面也是很快就容易上手的。
在課堂上老師教會的其實並不多,關鍵的還是自己回到宿舍之後看著網上的教程一步一步學,我當時學的時候上課真的一點都不懂,後面還是自己根據書的例題來程式設計,把邏輯語言學一遍,雖然說,在期末考試的時候,這門課程勉勉強強的過了,但是對於我來說這門課程還是不夠掌握的。
7樓:奶油煎蛋紅燒肉
MIT 就是這麼做的:
8樓:張十五
1、非計算機系的完全可以使用python作為入門語言,但計算機系的必須通過c語言入門,畢竟還要學計算機體系架構。
2、cpp可以最為作為後續搞特使領域的第二門語言(計算機圖形學、模擬),不太建議作為第一門語言學習,關注太多的語法細節讓你忽略了程式設計的本質。
3、其實很多國外的大學都採用python作為入門學習了。
9樓:波西公尺亞程式設計師
高考如此繁瑣,為什麼不直接上職高?
找女朋友如此繁瑣,為什麼不直接自己擼?
做人如此艱難,為什麼不直接……
你大學的高數/線數/概率/數分繁不繁瑣?你都沒掛吧?跟那些相比,C++的難度毛都不算不是嗎?(指大學課程所學所考的部分)
你當年在高考裡戰勝千軍萬馬進入大學,就是為了什麼繁瑣就躲避什麼,什麼簡單就學什麼的,是嗎?(這裡「簡單」不是在嘲諷Python,但它的設計初衷之一就是為了簡單)
當然,話說回來,得看你是什麼專業。如果不是電腦科學或者與此高度相關的專業(比如EE),那到確實可以隨便學個Python就行了。
10樓:野狼
大學裡主要是通過一些課來教會學生學習本專業的學習能力,而不單單是面向就業的。因此開設課程時,一方面要跟上時代,另一方面經典的課程也需要保留。C++就是這樣的,和C語言緊密,又是物件導向,很能鍛鍊人的思維。
因此,好多專業都開設C,C++
11樓:金寶
我覺的其他人的回答有點敷衍。
確實有大學用Python教程式設計的。比如很有名的伯克利cs61a,我覺得非常好。
我的個人感覺,用c,c++學程式設計,通常需要對記憶體,CPU,作業系統,編譯,鏈結這些方面有一定了解,這些內容其實對計算來說不是最本質的,當然了解的話也有好處。
而用Python或者Scheme這些教程式設計(指類似CS61a,sicp那種教法),側重讓學生理解計算模型和抽象計算過程的方法。
我覺得兩種方式都學學挺好的,至於那種先學,不太好說。
12樓:
工欲善其事,必先利其器。
計算機組成原理,作業系統,資料結構,底層程式語言都是基礎,大學打的是基礎,這也是很多培訓機構無法覆蓋到的。
基礎學會之後,學習其他語言就只是語法問題,一上來就學 Python,學半天都搞不懂什麼記憶體,指標,搞不懂什麼叫物件導向,也沒有觸類旁通的能力。
對於想要在程式設計方向有所發展的人來說,忽略底層,一味追求拿來就用,多少有些捨本逐末了
13樓:wPaper
說的不一定對,但可以參考一下。
程式語言在不斷發展,程式設計思想也是在不斷進步的,C++出來比python早,後出來的語言優秀是因為吸收了前面語言的優點,隔離掉一些缺點。C++是對C的再封裝,python也是對C的再封裝,但C++太大太全,面面俱到,因此較為繁瑣。而python更加專一,在C++應用層不夠深入的地方深入,隔離掉繁瑣的底層處理,因此容易上手。
但如果想使用python去處理被隔離的內容,python也會變得繁瑣起來。大學是學習的地方,學校希望學生不僅面向應用,還希望了解原理,有更加長足發展前景。python以後將來也許還有更好的語言,也許學習工作實踐中還需要掌握更多其它語言。
讓學生在未來工作實踐中,更能適應和發展。
14樓:歐文韜
語言的原理是互通的,在你理解了原理以後學其他語言也就是了解下為了解決什麼問題給了哪些語法糖而已。我第一次嘗試用python寫工具的時候入門python只花了3天。3天的內容需要開一學期的課?
15樓:C十十20年
要學簡單的語言還不容易,關鍵在於學了幹什麼有什麼用?C++是目前試圖集所有語言功能的語言,故它繁瑣。但它又是效率最高可應付幾乎任何應用開發的語言。
參見介紹2017標準的《C++程式設計精要教程》。
c 的單例模式為什麼不直接全部使用static,而是非要例項化乙個物件?
XZiar 很多時候其實就是花括號換不換行的問題,兩方可能各自看不順眼,但其實都能用。不過還是有一些很重要的區別的。首先,靜態成員變數的初始化順序不可控。比如a和b兩個變數,b需要通過a建立。類的建構函式是能保證按照初始化列表順序來的,但如果寫成靜態成員的話 由於C 不存在靜態類的說法,也沒有靜態建...
C 指標困惑,為什麼char p cout 直接輸出了整個char 而不是輸出首個位址?
曹恆 那個輸出流運算子被過載過,這樣更加方便輸出字串,因為字串比較特殊,用0結尾,所以這樣的過載可行,輸出到記憶體為0的地方就可以,但是普通陣列沒有這樣的特性所以不過載,直接輸出位址 573xmcgcg std cout 的型別 std ostream 的基類 std basic ostream 有...
為什麼大學的人如此冷漠?
dadadawn 深有感觸啦!可是!他就坐在我斜後桌呀,這點小事情為什麼不能當面叫我呢?為什麼要在qq上說呢?他難道是不好意思嗎?仔細想想真的挺扎心的。珍惜溫暖的小事情吧 你來自遠方嗎 不是大學的人冷漠,是人本性冷漠啊,要學會適應吧,換個角度才更應該珍惜願意去出手幫助自己的人,更應該心懷感激,我們就...