-
1 # 編碼之道
-
2 # 深空深處
不矛盾。現在c語言往往作為一門基礎,作為語言入門用,先初步學會c,然後學習其他語言就有基礎,學習起來也容易,當然繼續深入學習c,精通應用也可以,如果到了這個水平也就不會有這種困惑了
-
3 # TOTORO
而對於 C++ 來說,現在主流的瀏覽器、資料庫、Microsoft Office、主流的圖形介面、著名的遊戲引擎等都是用 C++ 編寫的。而且,很多公司都用 C++ 開發核心架構,如 Google、騰訊、百度、阿里雲等。
而金融電商公司則廣泛地使用 Java 語言,因為 Java 的好處太多了,程式碼穩定性超過 C 和 C++,生產力遠超 C 和 C++。有 JVM 在,可以輕鬆地跨平臺,做程式碼最佳化,做 AOP 和 IoC 這樣的高階技術。以 Spring 為首的由龐大的社群開發的高質量的各種輪子讓你只需關注業務,是能夠快速搭建企業級應用的不二之選。
此外,我推薦學習 Go 語言。一方面,Go 語言現在很受關注,它是取代 C 和 C++ 的另一門有潛力的語言。C 語言太原始了,C++ 太複雜了,Java 太高階了,所以 Go 語言就在這個夾縫中出現了。這門語言已經 10 多年了,其已成為雲計算領域事實上的標準語言,尤其是在 Docker/Kubernetes 等專案中。Go 語言社群正在不斷地從 Java 社群移植各種 Java 的輪子過來,Go 社群現在也很不錯。如果你要寫一些 PaaS 層的應用,Go 語言會比 C 和 C++ 更好,目前和 Java 有一拼。而且,Go 語言在國內外一些知名公司中有了一定的應用和實踐,所以,是可以學習的。此外,Go 語言語法特別簡單,你有了 C 和 C++ 的基礎,學習 Go 的學習成本基本為零。
Java語言讓你不用關注底層,而關注業務和架構,C語言讓你關注底層原理,Go語言介於C和Java之間,掌握多門語言會讓你對他們有比較。他們各有各的適用場景。
如果你想成為一個高手,多學幾門語言是必須的!
-
4 # 愛思考的奧特曼
學習c語言和c++其實並不矛盾,這兩個語言從方向上來區分的話,c語言更注重底層,c++注重應用的開發。
c語言的歷史很悠久,差不多有半個世紀了。但他的熱度還是非常高的。因為能實現和底層硬體互動的只有c這一種語言!c++從名字上看,也能猜出和c語言有不小的關係,其實他就是c語言的一個拓展,著重於物件,增加了類,多型等特徵。
如果想學習這方面的知識,我個人是非常推薦先學習c語言的,C語言在邏輯上真的可以用完美來形容,指標的應用也是非常有意思。不誇張可以說,學好c語言,對你學習c++,java,Python這樣的主流語言都很有幫助。
-
5 # AI中國
如果你是零基礎,而且以後想從事嵌入式系統的軟體程式設計,學C就可以了,因為嵌入式軟體一般結構並不複雜(注意,不復雜並不意味著不難,複雜度與難度沒有必然聯絡),主要考慮的是軟體的實時性,而且硬體資源有限,用C足夠了,並且C的編譯器比C++的編譯器要簡單的多。如果以後想從事非嵌入式系統的軟體程式設計,還是學C++吧,C++比C要複雜的多,當然功能也強大的多。這是我自己的一點體會,希望對你有幫助。
-
6 # 我臉上有bug
現在一般(在招聘時)寫為C/C++,兩者可以看做一個整體。雖然嚴格來說C並非C++的子集,但是對於社會上99%的碼農來說,C就是C++的一個功能限定版,而且目前市面上99%的相關工作,應該不會需要寫純C。
肯定是c++常用,但是建議從c學起,可以瞭解很多基本的知識,對用c++也有好處。很多著名的庫都是c寫的,比如說libcurl、zlib、gtk+等等等等,雖然可以直接在c++中拿來用,但是如果沒學過c,需要看程式碼的時候看不懂(遇到文件裡面說得不清楚的地方,直接去看程式碼更容易),面對一大堆void**會懵逼。
還有就是程式的一些最佳化,c++的某些特性的效能實現得比c慢,比如說iostream,用c相關的功能就能提高程式的效能。所以學會c對使用c++是有好處的。
首先
這兩玩意都是屬於:計算機程式語言,你硬要琢磨那個常用呢,肯定是C++常用一些.C一般用於底層系統的編寫,例如作業系統核心等等.正如前面幾個大佬所說,C/C++在求職時是一個整體,一般沒有什麼出來求職了,還只知其一不知其二的.具體排行榜可以參考:
其次
現在的計算機軟體,不一定是用C/C++來編寫的.就目前來講,現在的程式語言已經是"遍地開花".用那種語言都是看需求和產品特點來決定的.
最後
題主應該是還沒開始學吧,題目裡開頭就來個"將來"二字.這裡多說兩句,計算機專業大多數只是以C語言來"開個頭",讓你對程式語言有個感覺.現在的程式設計師,"活到老,學到老"是基本要求,絕不會只知道一門程式語言.
回覆列表
前面諸位有的說的不錯,不過有一個關鍵點沒有人提到,在這裡就補充一下。
雖然在平常的使用中,人們常常使用C/C++這樣的叫法,其實從理論上來說,C語言和C++語言是兩個不同的語言,在程式設計方法論上有著本質的區別,C是面向過程的程式語言,而C++是一種面向物件的程式語言。它們的應用場景也不太相同,C語言更靠近於底層,所以經常用來做為嵌入式系統軟體開發的首選,以及做和硬體連線緊密的軟體開發,如驅動開發等,當然在一些效能要求比較高的環境,也會首選C語言,如作業系統,資料庫系統等。而C++的應用則更偏向於比較複雜的業務,雖然沒有Java,C#等功能強大,但是也有一系列的第三方庫,幾乎可以滿足任何領域的開發任務。
知道了這兩個語言的本質區別和應用場景,那麼再來看選擇學習那個語言就比較清楚了,如果你的愛好更偏向底層,那麼就學C語言,這樣能對記憶體操作方面的理解更加深入。否則就選擇C++,不過在這裡提醒一下,C++因為包含的東西太多,學起來會比較費勁,而且因為它是面向物件的程式語言,學習語言的同時必須學習OOP思想。不過也有一個好處,去處面向物件的C++,就成了C語言,所以相當於你學會了C++,也可以進行C語言的程式設計,反之則有很多困難。
學習了C++與OOP之後,很容易學習別的語言,比如Java,C#,Python等,因為它們也是支援變相物件程式設計的。
所以我的建議是,除非你準備忘嵌入式方向發展,還是學習C++比較好,雖然難度會大一些,但是學成之後收穫會更大,畢竟現在面向物件程式設計更流行。
此外再說一下,很多人之所以將C與C++混為一談,是因為C語言可以認為是C++的一個子集,即C語言編寫的程式可以在C++中編譯,執行,反之則不行。至於其中的原因,牽扯到很多歷史背景,再次不再傲述。