如今,市面上編程語言幾百種,很多人覺得Python、 JAVA這種語言比較火,是不是C語言就不行了呢? 殊不知,C語言依然是現(xiàn)在的主力軍。 一、編程語言排行榜 給大家看一組數(shù)據(jù),2019年7月,最新 TIOBE 編程語言排行榜: C語言 TIOBE開發(fā)語言排行榜每月更新一次,依據(jù)的指數(shù)是基于世界范圍內的資深軟件工程師和第三方供應商提供,其結果作為當前業(yè)內程序開發(fā)語言的流行使用程度的有效指標。 雖然不知道具體是如何進行排名的,但可信程度還是很高的。 再來看一組數(shù)據(jù),近十幾年 TOP 10 編程語言走勢圖: C語言 這里說幾點: 1.Python在近兩年隨著人工智能火了。 2.C語言這么多年位居榜單前列。 C語言這么多年沒有下沉,原因在于C語言屬于系統(tǒng)級語言,屬于底層編程語言。 可以用一句簡單的話來總結:所有上層語言,都離不開底層硬件的支持,離不開C語言的支持。 JAVA的排名能超越C語言,很大程度在于JAVA的應用很廣,web應用、桌面應用、安卓應用等。。。 二、C歷史,及C標準 C語言發(fā)展的腳步,其實一直都沒有停止:從C89、 C90、 C99...... C17,C語言標準還在更新。 1.早期 C 1969:基于 BCPL 創(chuàng)建 B,以作為 Unix 的系統(tǒng)程序語言替代 PDP-7 匯編器。增加運算符 ++ 、 -- 、復合賦值,保持為類 BCPL 的無類型語言。 1971:將 B 移植到 PDP-11 時創(chuàng)建 NB (新“ B ”)。類型( int 、 char 、數(shù)組與指針)、數(shù)組到指針轉換、到機器碼的編譯。 1972:語言更名為 C。結構體、運算符 && 及 || 、預處理器、可移植 I/O 1973:以 C 重寫。無符號整數(shù)、 long 、聯(lián)合體、枚舉、增強的類型安全。 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)
1999:C99 (ISO/IEC 9899:1999) A.新特性: _Bool 、 long long 、 stdint.h 、 inttypes.h 、 restrict 、復合字面量、變長度數(shù)組、伸縮數(shù)組成員、指代初始化器、 fenv.h 、變參數(shù)宏、復數(shù)、 __func__ 、十六進制浮點格式( %a )、 lconv 的貨幣格式化、 isblank 、窄與寬字符串字面量的連接、枚舉的尾逗號、類函數(shù)宏的空參數(shù)、 STDC_* pragma 、 va_copy 、 tmpnam 的空返回、 setvbuf 中的空指針、 printf 的 hh 與 ll 長度指定符、 snprintf 、 _Exit 、 tgmath.h 、仿 POSIX strftime 指定符 B.來自 C++ : inline 、聲明與代碼混合、 for 循環(huán)的 init 子句中的聲明、 // 注釋、源代碼中的通用字符名 C.移除隱式函數(shù)聲明和隱式 int 2011:C11 (ISO/IEC 9899:2011) A.具線程的內存模型 、 stdatomic.h 、 threads.h 、泛型函數(shù)、 _Alignas/_Alignof 、 _Noreturn 、 _Static_assert 、可分析性擴展、對復數(shù)和虛數(shù)類型的擴展、匿名結構體與聯(lián)合體、獨占文件打開模式、 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 和對下列缺陷報告的修正: 當然,這只是其中的一部分,其實每一年都有動作,只是我們沒有太關注而已。 |
|
來自: 挑燈看劍r7wtm5 > 《幾種編程語言》