那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

市面上編程語言幾百種,是不是C語言就不行了呢?

5RJg_mcuworld ? 來源:陳年麗 ? 2019-07-23 11:29 ? 次閱讀

如今,市面上編程語言幾百種,很多人覺得PythonJAVA這種語言比較火,是不是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 、數組與指針)、數組到指針轉換、到機器碼的編譯。

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 和對下列缺陷報告的修正:

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

三、更加完善的C語言

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

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    19

    文章

    2975

    瀏覽量

    105149
  • 編程語言
    +關注

    關注

    10

    文章

    1950

    瀏覽量

    34987

原文標題:C語言依然位居榜單前列,仍然值得程序員學習

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    這是對1115的配置,為什么實際當中只能采到0.6多一點的電壓再大就不行了

    ] =0x54; // 配置字高字節,采用-2.048到+2.048,選擇AINp1輸入,AINPn為GND Init_Data[3] =0x83; // 配置字低字節,選擇轉換速率即通信速率 這是對1115的配置為什么實際當中只能采到0.6多一點的電壓 再大就不行了
    發表于 01-20 08:43

    gitee 支持的編程語言有哪些

    Gitee 支持的常見編程語言: Python :一廣泛使用的高級編程語言,以其清晰的語法和代碼可讀性而聞名。 Java :一
    的頭像 發表于 01-06 09:50 ?129次閱讀

    Triton編譯器支持的編程語言

    編寫和優化深度學習代碼。Python是一廣泛使用的高級編程語言,具有簡潔易讀、易于上手、庫豐富等特點,非常適合用于深度學習應用的開發。 二、領域特定語言(DSL) Triton也提供
    的頭像 發表于 12-24 17:33 ?461次閱讀

    ADS8685 REFIO和REFCAP引腳輸出電壓是3.7V是不是芯片損壞了?

    ADS8685 REFIO和REFCAP引腳輸出電壓是3.7V是不是芯片損壞了? AVDD引腳供電需要限流嗎,我的供電電壓是5.3V,剛開始能夠正常采樣,過了一會就不行了。采集到的電壓也不準確,相差將近2mV,是供電問題嗎。
    發表于 11-22 07:57

    C語言中的socket編程基礎

    Socket編程簡介 Socket是一通信機制,允許程序之間進行通信。在C語言中,socket編程是網絡
    的頭像 發表于 11-01 16:51 ?469次閱讀

    MCU編程語言和開發環境介紹

    MCU編程語言 MCU編程語言是用于編寫MCU程序的高級編程語言,它們使得開發者能夠更高效地開
    的頭像 發表于 11-01 11:51 ?1073次閱讀

    C語言與其他編程語言的比較

    C語言作為一歷史悠久的編程語言,自其誕生以來,一直在軟件開發領域扮演著重要角色。它以其高效、靈活和可移植性強的特點,成為了系統級
    的頭像 發表于 10-29 17:30 ?368次閱讀

    Orin芯片的編程語言支持

    語言支持 Orin芯片支持多種編程語言,以滿足不同開發者的需求。其中,C/C++和Python是兩
    的頭像 發表于 10-27 16:45 ?414次閱讀

    labview是什么編程語言寫的

    的一圖形化編程語言。它并不是用傳統的文本編程語言(如C
    的頭像 發表于 09-04 16:00 ?1147次閱讀

    請問Matter Android APP是否支持連接市面上的Matter設備?

    各位大佬們,請教下我基于matter開源的Android App,是否可以連接市面上其他的matter協議設備并且進行控制?如果不可以,是需要其他認證碼?
    發表于 07-24 07:25

    按照這樣學習C語言,成為卷王不是夢!

    在計算機編程領域,C語言被譽為一強大而靈活的編程語言,掌握好
    的頭像 發表于 07-06 08:04 ?360次閱讀
    按照這樣學習<b class='flag-5'>C</b><b class='flag-5'>語言</b>,成為卷王<b class='flag-5'>不是</b>夢!

    PLC編程語言C語言的區別

    在工業自動化和計算機編程領域中,PLC(可編程邏輯控制器)編程語言C語言各自扮演著重要的角色。
    的頭像 發表于 06-14 17:11 ?3235次閱讀

    在上位機輸入字符加換行,但是多加一個換行字符就不行了的原因?

    在上位機輸入字符加換行,可以打印的出來,但是多加一個換行字符就不行了,然后就卡死了,不知道是邏輯上的錯誤還是什么的,剛上收弄hal庫,很多不知道...在串口通信上有什么方案比較好的嗎?
    發表于 04-12 07:15

    在adc測量外部電壓時,為什么一旦加上led燈的代碼,程序就不行了

    。但我注釋掉led燈相關的代碼,從串口中得到adc確實是在測量外部電壓值。只是為什么一旦加上led燈的代碼,程序就不行了
    發表于 04-01 07:43

    市面上FPGA入門用哪塊板子好啊?

    市面上FPGA入門用哪塊板子好啊?用的什么開發軟件和編程語言的??
    發表于 03-30 11:24
    龙都棋牌下载| 大发888娱乐城怎么玩| 百家乐是怎样的| 如何玩百家乐官网游戏| 永利博国际网| 威尼斯人娱乐城图| 网上百家乐分析软件| 百家乐官网打格式| 百家乐官网波音平台路单| 娱乐城注册送28| 百家乐正负计算| 百家乐筹码方形| 励骏会百家乐官网的玩法技巧和规则 | 百家乐软件辅助器| 百家乐网娱乐城| 铜鼓县| 六合彩资料大全| 全讯网77| 利都百家乐国际赌场娱乐网规则 | 互博百家乐的玩法技巧和规则| 立即博百家乐现金网| 新濠峰百家乐官网的玩法技巧和规则| 百家乐官网投注技巧| 百家乐官网赢的技巧| 百家乐真钱| 大发888注册账号| 星河百家乐的玩法技巧和规则| 百家乐有几种打法| 百家乐官网平注常赢玩法技巧| 百家乐官网园云鼎娱乐网| 百家乐官网赌博大揭密| 百家乐官网真钱棋牌| 赌博粉| 大发888在线娱乐城| 北京太阳城医院怎么样| 涂山百家乐的玩法技巧和规则| 百家乐信誉博彩公司| 新葡京百家乐现金网| 百家乐游戏策略| 阴宅24层手机罗盘| 仕達屋百家乐官网的玩法技巧和规则 |