-
1 # FrankManSea
-
2 # 亮亮老師之計算機程式設計
首先我認為這是由C/C++語言的歷史地位決定的,C語言是一種歷史非常悠久的語言,它起源於20世紀60年代,為了移植Unix作業系統而開發的一種語言,已經有近60多年曆史了。正因如此,中國高校很早就已經開設了C語言課程,記得本人當年上的就是譚浩強老師編寫的C語言教材,堪稱經典。
其次雖然C/C++ 歷史悠久,但其生命力之頑強足以令其他語言望塵莫及,在如今各種語言百花齊放的情況下,C語言仍然馳騁在各行各業,完成各種工作。C語言是一種介於高階語言和機器語言之間的語言,其強大的程式設計控制能力是其他語言所不能達到的,可以這麼說,在計算機程式設計領域,沒有C語言無法實現的功能。
最後從學習角度來說,C/C++語言的難度其實是要大於其他語言的,但由於其具備低階語言的特性,所以一旦熟練掌握後,對計算機的原理理解的將更加紮實,透徹。它的一些諸如指標之類的特性,其靈活性之強大也是其他語言所不具備的。大部分掌握了C/C++語言的學習者,普遍反映如果再學習其他語言的話,會非常容易入手。
因此我認為計算機專業堅持以C/C++語言作為第一學習語言是充分具備理論性,實踐性的,在以後相當長的時間內是利大於弊的。
在以上的分享關於這個問題的解答都是個人的意見與建議,我希望我分享的這個問題的解答能夠幫助到大家。
-
3 # 東布也
我就是計科畢業的,C打好演算法底子,而C++
打好面向物件底子,那麼無論面對其他什麼語言上手和學習難度會低很多。
-
4 # 拽拽紳士
第一,C夠底層,與彙編同層但比彙編更好理解,也因為夠低,觸得到硬體,程式設計不只是做web,還有嵌入式,寫驅動。
第二,如果C是面向過程的,Cpp多了面向物件的概念。很多基礎中介軟體是用Cpp寫的。涉及到opengl去做遊戲引擎,cef去做瀏覽器等等,他們可能表面看不到,但無處不在並且很重要。
第三,很多高階語言的編譯器,位元組碼直譯器是用c/cpp寫的,即使完全使用go語言重構編譯器的go語言,起初也是先用c語言做的編譯器去做底座。而處於學校中學習階段,對於想要深入計算機世界的人,直接使用python或者java等語言而不接觸c/cpp/彙編等基礎語言,很難清晰程式設計環境所處位置,眼界有限。
第四,高階語言python和java等只要感興趣,入門很簡單,但要深入需要對計算機體系有完整的理解後才好做,這就需要對系統執行環境有所瞭解,windows,linux,mac都不一樣,但是底層處理有相似之處的卻又不一樣,而系統的底層核心大多是c,cpp寫的。
所以綜上雖然c/cpp相比高階語言有難的地方,只要克服了困難對其他語言的理解會更透徹,對於研究方向專家方向的學生,這不就是該要去做的事嗎?
回覆列表
個人認為有以下幾方面原因。
1、C/C++語言出現時間比較長,應用範圍比較廣,各大高校的老師大都受過這兩種語言的嚴格訓練,很多底層的計算機軟體和工具也大都是這兩種語言設計的,高校這兩種語言的資源很多,也便於教學工作。
2、C語言是比較成熟和古老的面向過程的語言,比較容易讓一個從未接觸過計算機的非專業人士理解和閱讀計算機程式程式碼,入門容易;有了C語言基礎後,再學習面向物件的C++語言就相對簡單了。面向物件的程式設計技術是現代計算機語言發展的核心和方向,她讓計算機專業人士的工作效率大大提高,其後出現的Java、Python等更加高效的程式語言也強化了面向物件的特性。有了這兩種語言的基礎,再自行學習其它語言就更加容易了。所以C/C++語言是所有程式語言的基礎就不難理解了。
3、有了這兩種語言基礎,高校畢業生即使不會其它語言,待他們畢業時,也可以僅憑在大學學習的程式設計知識從事實際的程式設計工作,能比較好的應用於實際工作中去。