Python、 JAVA這種語言比較火,是不是C語言就不行了
市面上程式語言幾百種,是不是C語言就不行了呢?尤其是java多年已來一直位於程式設計排行榜的首位,讓不少人感嘆,學習C語言真的不行了
如今,市面上程式語言幾百種,很多人覺得Python、 JAVA這種語言比較火,是不是C語言就不行了呢?
殊不知,C語言依然是現在的主力軍。
一、程式語言排行榜
給大家看一組資料,2019年7月,最新 TIOBE 程式語言排行榜:
TIOBE開發語言排行榜每月更新一次,依據的指數是基於世界範圍內的資深軟體工程師和第三方供應商提供,其結果作為當前業內程式開發語言的流行使用程度的有效指標。
雖然不知道具體是如何進行排名的,但可信程度還是很高的。
再來看一組資料,近十幾年 TOP 10 程式語言走勢圖:
這裡說幾點:
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 、陣列與指標)、陣列到指標轉換、到機器碼的編譯。
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 和對下列缺陷報告的修正:
當然,這只是其中的一部分,其實每一年都有動作,只是我們沒有太關注而已。
三、更加完善的C語言
從上面的發展歷史,可以看得出來:我們常用的一些功能、API介面等都是一步一步發展而來,並非從一開始就有的。
自C11之後,C語言擴充套件了許多新功能,特別是很多功能都趨向於C++。
如果你去了解C11標準,你會發現C11定義了一些類似C++的標準API介面,使其更像是“現代”的語言。
感興趣的朋友可以下載C標準手冊來看看:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940009/viewspace-2651442/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 學哪種程式設計比較好,看看這六種語言!程式設計
- java語言屬於哪種語言Java
- 【Python】Python 對比 C語言的差異PythonC語言
- 三種語言實現差分(C++/Python/Java)C++PythonJava
- 三種語言實現快速排序(C++/Python/Java)排序C++PythonJava
- OC,swift,javascript,Dart語言比較SwiftJavaScriptDart
- C語言:一種高效、易學的程式語言C語言
- 三種語言實現歸併排序(C++/Python/Java)排序C++PythonJava
- Python和Java、PHP、C、C#、C++等其他語言的對比?PythonJavaPHPC#C++
- 【Go語言入門系列】(八)Go語言是不是面嚮物件語言?Go物件
- 初學程式語言,選擇python和Java哪個比較合適?PythonJava
- 幽默:程式語言與遊戲比較遊戲
- python 是開源語言嗎:Python 是一種開源語言嗎?Python
- C語言C語言
- C語言的角落——這些C語言不常用的特性你知道嗎?C語言
- 聊聊C語言/C++—程式和程式語言C語言C++
- C語言-srand種子詳解C語言
- C+、Java、Python選擇哪個程式語言?JavaPython
- Java、Python、JS、C語言,哪個更值得學?JavaPythonJSC語言
- 這些程式語言薪資比較高 位居排行榜之首
- 比Python、Java更快的 Go 語言,能否稱霸江湖?PythonJavaGo
- 哦!這該死的 C 語言
- 第一屆C語言比賽答案C語言
- go語言與c語言的相互呼叫GoC語言
- C語言 typedefC語言
- C語言(一)C語言
- C語言: returnC語言
- C語言字串C語言字串
- Java與C語言的區別?JavaC語言
- Python這麼火,它與其他程式語言有什麼區別?Python
- 新學一種c語言寫法C語言
- 這麼多程式語言,初學者選擇哪個比較好?
- 2020入行IT學什麼?看資料這5種程式語言必火!
- 【開發語言】PHP、Java、C語言的編譯執行過程PHPJavaC語言編譯
- C語言與嵌入式C語言的區別C語言
- C語言學習方法,怎麼學習C語言?C語言
- 效能對比 Go、Python、PHP、C/C++、C# .Net、Java、Node.js、… 等多程式語言GoPythonPHPC++C#JavaNode.js
- Rust語言與Go語言各自特點概要比較 –thenewstackRustGo