C/C++零基礎學習必須要知道的硬知識!

前言

本文不是爲C/C++站臺,宣傳其爲全宇宙最好的語言,而以近二十年的從業經驗來分析C/C++的優劣勢,提出指導性建議。

7月份發佈的全球編程語言排行榜

Java高居榜首,C屈居第二,C++緊隨其後,C和C++的比例之和,超過Java5%,python借人工智能和DevOps的東風,扶搖直上,GO語言,投胎技術好,有個好爹,依託容器技術和K8S,迅速走紅。

【文章福利】:小編推薦一個C語言/C++交流羣:967051845!整理了一些個人覺得比較好的學習書籍、視頻資料共享在羣文件裏面,有需要的可以自行添加哦!~

這些是C/C++能做的

  • 服務器開發工程師
  • 人工智能
  • 雲計算工程師
  • 信息安全(黑客反黑客)
  • 大數據
  • 數據平臺
  • 嵌入式工程師
  • 流媒體服務器
  • 數據控解
  • 圖像處理
  • 音頻視頻開發工程師
  • 遊戲服務器
  • 分佈式系統
  • 遊戲輔助

C語言以過程式編程,比彙編更貼近人類思考方式,而迅速興起,在性能上貼近於機器語言

在開發效率和執行性能上做了一個平衡

在系統控制上,給開發人員更多的自由,這是他的優點,也是缺點。對於資深人員來說,有很大的發揮空間,但對於新手來說,就是踩不完的坑,學習成本極高,稍不小心就是內存泄漏,死鎖

因此,C語言主要應用場景在操作系統,如Linux;底層組件,如ceph;這些標準化程度高,性能要求苛刻的場景

C++在C基礎上,引入對象模型,將數據和方法有機的綁定在一起,比C語言更一步貼近人類思維模式

引入模板編程,替換C中宏這樣的語法糖

早期C編寫的程序中,內聯函數和宏滿天飛,現在變成模板滿天飛,在執行效率上不相上下,但在調試期,倒引入不少麻煩,實際上違反了接口和實現分離的原則

C++在開發效率上要高於C,執行效率上略遜於C,因此在開發週期要求比較嚴格,性能要求高的場景,有他的發揮空間,比如遊戲的端遊,比如行情軟件

在客戶端,有C#和C++競爭,在服務端,有JAVA、python、go與C++競爭,所以C++的市場份額就比較尷尬

C/C++由於底層綁定比較緊,所以在跨平臺這塊存在很高的難度,特別是大規模的軟件系統,要考慮的可能性更多

在boost逐漸發展壯大後,這些情況會逐漸好轉。boost爲了跨平臺,不得不犧牲一些平臺特性,在性能上也會有一定損失,因此在一些應用場景中,還會存在定製自己API庫的場景存在,相較於之前沒有boost時代,依然要好很多

C/C++因爲其自由度高,百花齊放,即使是同一個功能,也能整出個N多花樣,開發人員需要在選擇困難症中,痛並快樂着。這些狀況,會隨着標準化程度不斷提高,而減少,但永遠不會消失

福利來嘍~

小編C工作也有五年了,推薦一個C/C++學習交流羣:967051845!裏面整理了一些個人覺得比較好的學習書籍、視頻資料共享在羣文件裏面,有需要的可以自行添加哦!~

學習路線圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章