為什麼C語言依然是必學的程式語言,這3點告訴你答案

2019-07-22     C語言編程開發

如今,市面上程式語言幾百種,很多人覺得Python、 JAVA這種語言比較火,是不是C語言就不行了呢?

殊不知,C語言依然是現在的主力軍。

一、程式語言排行榜

給大家看一組數據,2019年7月,最新 TIOBE 程式語言排行榜:


C語言


TIOBE開發語言排行榜每月更新一次,依據的指數是基於世界範圍內的資深軟體工程師和第三方供應商提供,其結果作為當前業內程序開發語言的流行使用程度的有效指標。

雖然不知道具體是如何進行排名的,但可信程度還是很高的。

再來看一組數據,近十幾年 TOP 10 程式語言走勢圖:


C語言


這裡說幾點:

1.Python在近兩年隨著人工智慧火了。

2.C語言這麼多年位居榜單前列。


C語言這麼多年沒有下沉,原因在於C語言屬於系統級語言,屬於底層程式語言。

可以用一句簡單的話來總結:所有上層語言,都離不開底層硬體的支持,離不開C語言的支持。

JAVA的排名能超越C語言,很大程度在於JAVA的應用很廣,web應用、桌面應用、安卓應用等。。。


二、C歷史,及C標準

C語言發展的腳步,其實一直都沒有停止:從C89、 C90、 C99...... C17,C語言標準還在更新。

1.早期 C

1969:基於 BCPL 創建 B,以作為 Unix 的系統程序語言替代 PDP-7 彙編器。增加運算符 ++ 、 -- 、復合賦值,保持為類 BCPL 的無類型語言。

1971:將 B 移植到 PDP-11 時創建 NB (新「 B 」)。類型( int 、 char 、數組與指針)、數組到指針轉換、到機器碼的編譯。

1972:語言更名為 C。結構體、運算符 && 及 || 、預處理器、可移植 I/O

1973:以 C 重寫。無符號整數、 long 、聯合體、枚舉、增強的類型安全。

1978:The C Programming Language,第1版

2.標準 C

1983:ANSI 建立 X3J11 委員會

1988:The C Programming Language ,第2版

1989:C89 ,ANSI C 標準出版

1990:C90 ,ANSI C 標準被接納為 ISO/IEC 9899-1990

1995: C95 (ISO/IEC 9899 AM1)

  • 極大擴充了寬和多位元組字符支持
  • 雙標符、iso646.h

1999:C99 (ISO/IEC 9899:1999)

A.新特性: _Bool 、 long long 、 stdint.h 、 inttypes.h 、 restrict 、復合字面量、變長度數組、伸縮數組成員、指代初始化器、 fenv.h 、變參數宏、複數、 __func__ 、十六進位浮點格式( %a )、 lconv 的貨幣格式化、 isblank 、窄與寬字符串字面量的連接、枚舉的尾逗號、類函數宏的空參數、 STDC_* pragma 、 va_copy 、 tmpnam 的空返回、 setvbuf 中的空指針、 printf 的 hh 與 ll 長度指定符、 snprintf 、 _Exit 、 tgmath.h 、仿 POSIX strftime 指定符

B.來自 C++ : inline 、聲明與代碼混合、 for 循環的 init 子句中的聲明、 // 注釋、原始碼中的通用字符名

C.移除隱式函數聲明和隱式 int

2011:C11 (ISO/IEC 9899:2011)

A.具線程的內存模型 、 stdatomic.h 、 threads.h 、泛型函數、 _Alignas/_Alignof 、 _Noreturn 、 _Static_assert 、可分析性擴展、對複數和虛數類型的擴展、匿名結構體與聯合體、獨占文件打開模式、 quick_exit


B.移除 gets


C.來自邊界檢查接口 TR :邊界檢查接口


D.來自 Unicode TR :char16_t 、 char32_t ,及 uchar.h


·

2018:C17 (ISO/IEC 9899:2018)(C18非正式名稱)

修復C11許多缺陷,包含棄用 ATOMIC_VAR_INIT 和對下列缺陷報告的修正:

當然,這只是其中的一部分,其實每一年都有動作,只是我們沒有太關注而已。

以上信息來源:

https://zh.cppreference.com/w/c/language/history


三、更加完善的C語言

從上面的發展歷史,可以看得出來:我們常用的一些功能、API接口等都是一步一步發展而來,並非從一開始就有的。

自C11之後,C語言擴展了許多新功能,特別是很多功能都趨向於C++。

如果你去了解C11標準,你會發現C11定義了一些類似C++的標準API接口,使其更像是「現代」的語言。

感興趣的朋友可以下載C標準手冊來看看:


C語言


最後打一個總結:C語言依然值得程式設計師學習。

C語言

加助理好.友 免費獲取C語言、C++、Windows高級編程,MFC框架編程、QT框架編程,Linux應用程式開發,Linux內核研究等系統學習路線,更有進階乾貨的直播免費學習權限 ,都是大牛帶飛 讓你少走很多彎路的 q.q是 2767800119

註:

1、零基礎,目前遇到困難不知從何下手可以加。

2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內進修、跳槽拿高薪的可以加。

3、基礎非常紮實,但對目前主流技術欠缺,需要突破技術瓶頸的可以加。

4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的可以加。

5.企業一線C/C++高級大牛直播講解知識點,分享知識,多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!

文章來源: https://twgreatdaily.com/zh-mo/OPHvGWwBmyVoG_1Z2AFB.html