<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          2021年還有人在使用C語言嗎?

          共 3317字,需瀏覽 7分鐘

           ·

          2022-02-27 10:41

          不點(diǎn)藍(lán)字關(guān)注,我們哪來故事?


          劍指大廠,一個(gè)指導(dǎo)程序員進(jìn)入大公司/獨(dú)角獸的精品社群,致力于分享職場達(dá)人的專業(yè)打法,包括「學(xué)習(xí)路線+簡歷模板+實(shí)習(xí)避坑+筆試面試+試用轉(zhuǎn)正+升職加薪+跳槽技巧+副業(yè)外快」。

          點(diǎn)擊去了解,2022 一起劍指大廠吧 ~








          截止到 2021 年,C語言已經(jīng)發(fā)布了將近 50 年,是不折不扣的“大叔”或者“大爺”,但是,C語言在編程界依然非常流行;2019 年,C語言由于速度快、平臺(tái)獨(dú)立的特性,在世界編程語言排行榜中奪得第二名。



          圖1:2019年世界編程語言排行榜


          C語言是為直接控制硬件而開發(fā)的,可以用來編寫操作系統(tǒng)內(nèi)核、驅(qū)動(dòng)程序等。

          C語言也是很多其它編程語言的基石,它們有的使用C語言開發(fā)編譯器和標(biāo)準(zhǔn)庫,有的基于C語言模塊進(jìn)行擴(kuò)展,因此,C語言也被稱為其它語言的“母語”。

          現(xiàn)在都 2021 年了,您可能會(huì)想,C語言在現(xiàn)實(shí)生活中還有什么用途呢?這就是本文要重點(diǎn)討論的內(nèi)容。

          本文我們先討論C語言的特性,然后討論C語言在目前以及未來的實(shí)際用途。通過閱讀本文,您將對C語言有一個(gè)整體的認(rèn)知。

          什么是C語言?


          1972 年,丹尼斯·里奇(Dennis Ritchie)在著名的貝爾實(shí)驗(yàn)室中開發(fā)了C語言。


          圖2:C語言之父——丹尼斯·里奇


          從特性方面講,C語言是一種中級(jí)語言,它結(jié)合了低級(jí)語言速度快的特點(diǎn),以及高級(jí)語言開發(fā)方便的特點(diǎn);從應(yīng)用方面講,C語言也是一種高級(jí)語言,它可以用來編寫電腦軟件,或者開發(fā)嵌入式系統(tǒng)。

          當(dāng)需要開發(fā)一種新的編程語言時(shí),C語言是最好的選擇,因?yàn)镃語言執(zhí)行效率非常高,僅次于匯編語言。例如,目前常用的 Python、PHP、C++、Objective-C 都是在C語言的基礎(chǔ)上進(jìn)行開發(fā)的。

          C語言的主要特點(diǎn):

          • 執(zhí)行速度快

          • 可以直接訪問內(nèi)存

          • 模塊化,易于擴(kuò)展

          • 占用內(nèi)存少

          • 靜態(tài)類型

          • 中級(jí)語言

          • 可移植性

          • 通用語言

          C語言的用途


          C語言是一種非常簡單的編程語言,全世界的程序員都在使用它。最初,C語言被用于系統(tǒng)性開發(fā)工作,準(zhǔn)確地說,就是編寫操作系統(tǒng)(例如 Windows、Linux 等)和底層組件(比如驅(qū)動(dòng)、網(wǎng)絡(luò)協(xié)議等),因?yàn)镃語言的優(yōu)勢就是執(zhí)行效率高,C語言生成的程序幾乎和匯編語言生成的程序一樣快速。

          C語言的用途可以概括如下:

          1) 系統(tǒng)編程

          C語言可移植性好,性能高,能夠直接訪問硬件地址,而且到達(dá)某個(gè)地址的時(shí)間非常短,這使得C語言天生適合開發(fā)操作系統(tǒng)或者嵌入式應(yīng)用程序。在最初的時(shí)候,C語言主要就是被應(yīng)用在這兩個(gè)領(lǐng)域。

          2) 開發(fā)其它編程語言

          有些編程語言的編譯器或者解釋器就使用C語言開發(fā),還有一些編程語言的庫或者模塊支持C語言,這使得C語言成為了很多其它編程語言的基礎(chǔ)。

          3) 電氣工程

          C語言在電氣工程領(lǐng)域也有很多用途,它可以使用信號(hào)處理算法來管理微處理器、微控制器等集成電路。

          4) 編譯器中間件

          由于C語言具有可移植性,適應(yīng)性強(qiáng),有時(shí)也被用作不同編程語言的中間語言,這樣不同編程語言之間就可以共享組件/模塊。把C語言作為中間件的編譯器有 Gambit、BitC、Glasgow Haskell Compiler、Vala 和 Squeak 等。

          5) 應(yīng)用程序

          C語言被廣泛應(yīng)用于實(shí)現(xiàn)最終的用戶應(yīng)用程序,或者作為某些應(yīng)用程序的關(guān)鍵模塊。例如,機(jī)械設(shè)計(jì)領(lǐng)域的各種 CAM 和 CAD 都在使用C語言編寫某些關(guān)鍵模塊,這些模塊對執(zhí)行效率有著較高要求。

          舉例說明C語言的應(yīng)用


          在日常生活中,很多系統(tǒng)軟件和桌面應(yīng)用程序都采用C語言進(jìn)行開發(fā),下面給出了一些示例。

          1) 操作系統(tǒng)

          UNIX 是第一個(gè)使用高級(jí)語言設(shè)計(jì)的操作系統(tǒng),它使用的編程語言就是C語言。后來,Microsoft Windows 和不同的 Android 組件也使用C語言編寫。

          2)?GUI(圖形用戶界面)

          Adobe Photoshop 是目前最受歡迎的圖像編輯器之一,它的很多組件就使用C語言開發(fā)。此外,Illustrator 和 Adobe Premiere 也使用了C語言。

          3) 嵌入式系統(tǒng)

          C語言是開發(fā)嵌入式系統(tǒng)應(yīng)用程序和驅(qū)動(dòng)程序的最佳選擇,因?yàn)樗軌蛑苯硬僮鳈C(jī)器硬件。

          4)?Google

          Google Chrome 瀏覽器和 Google 文件系統(tǒng)都使用了C語言進(jìn)行開發(fā)。此外,谷歌開源社區(qū)有大量的項(xiàng)目也都在使用 C/C++。

          5) 編譯器開發(fā)

          C語言的常見用途之一就是開發(fā)其它編程語言的編譯器,因?yàn)镃語言具有低級(jí)語言的特性,可以直接訪問機(jī)器硬件。使用C語言開發(fā)的編譯器有 Clang C、Bloodshed Dev-C、Apple C 和 MINGW 等。

          6)?游戲和動(dòng)畫

          C語言是編譯型語言,比 Java 或者 Python 等非編譯型語言執(zhí)行速度更快,這使得C語言在游戲開發(fā)領(lǐng)域不可或缺。

          C語言可以提高繪圖性能,例如,作為一款 FPS 恐怖游戲,Doom3 在 2004 年就使用C語言進(jìn)行開發(fā),并運(yùn)行在 Windows 系統(tǒng)。

          7) 數(shù)據(jù)庫

          MySQL 是目前使用最廣泛的數(shù)據(jù)庫之一,它就使用 C/C++ 開發(fā)。

          C語言的未來


          在編程語言流行程度方面,Java、Python、C++ 等現(xiàn)代編程語言已經(jīng)取代了C語言的地位;但是C語言已經(jīng)存在了很長時(shí)間,并且到目前仍然被大量使用。

          C語言失敗的一個(gè)主要原因是 C++的誕生。C++ 在C語言的基礎(chǔ)上進(jìn)行了擴(kuò)展,不但保留了幾乎所有的C語言特性,還包含了面向?qū)ο缶幊毯湍0寰幊痰刃碌乃枷?。對于用戶使用的?yīng)用程序,人們更喜歡使用 C++,它的開發(fā)效率更高,使用更方便。

          但是,C++ 程序占用內(nèi)存較多,尤其是在使用 C++ 標(biāo)準(zhǔn)模板庫時(shí),內(nèi)存更是瘋長,對于資源有限的嵌入式系統(tǒng),或者在意資源消耗的系統(tǒng)組件來說,內(nèi)存瘋長是不能承受的,所以C語言仍然是嵌入式系統(tǒng)開發(fā)、驅(qū)動(dòng)開發(fā)、算法開發(fā)的更可靠的選擇。

          總之,在應(yīng)用層開發(fā)中,C語言已經(jīng)被 Java、Python、PHP 等現(xiàn)代語言取代了,C語言幾乎沒有了用武之地。但是,在嵌入式系統(tǒng)開發(fā)、驅(qū)動(dòng)開發(fā)、底層組件開發(fā)、算法開發(fā)方面,C語言仍然是不可被替代的。

          C語言在可見的未來雖然不會(huì)有蓬勃的發(fā)展,但是它也不會(huì)消失,它仍然有用武之地,在某些領(lǐng)域仍然是不可或缺的。C語言沒有未來,但是仍不可被取代。


          常見問題


          1) 學(xué)習(xí) C++ 之前要學(xué)習(xí)C語言嗎?

          網(wǎng)上有人建議直接學(xué)習(xí) C++,這樣能夠直接接受面向編程的思想,而不用經(jīng)歷面向過程編程的階段,能夠更好地培養(yǎng)初學(xué)者的編程思維。

          而我執(zhí)著地認(rèn)為應(yīng)該先學(xué)習(xí)C語言,再學(xué)習(xí) C++,對初學(xué)者大談各種思想的,都是在誤導(dǎo)別人。剛?cè)腴T的程序員才談這思想那思想,真正的程序員心中沒有思想,就是實(shí)用主義,能達(dá)到目的就行,管他什么思想呢。

          2) 2021 年還在使用C語言嗎?

          答案是肯定的。C語言和 C++ 在 2021 年仍然在被大量使用,而且位于世界編程語言的前 5 名。學(xué)好C語言,能大幅提升編程功力,不懂C語言的程序員一般造詣不高。

          3) 為什么C語言仍然在被使用?

          因?yàn)镃語言在某些領(lǐng)域不可被替代。C語言有自身的優(yōu)勢,比如執(zhí)行效率高、占用內(nèi)存少、能夠直接訪問硬件,這些優(yōu)勢是 Java、Python、JavaScript 等高級(jí)語言都不具備的,所以在某些關(guān)注執(zhí)行效率和資源消耗的項(xiàng)目中,C語言幾乎是唯一的選擇。


          本文于?2021-07-09 發(fā)布于C語言中文網(wǎng)


          END


          歡迎加入我的知識(shí)星球,一起劍指大廠,不斷升級(jí)加薪。劍指大廠,一個(gè)指導(dǎo)程序員進(jìn)入大公司/獨(dú)角獸的精品社群,致力于分享職場達(dá)人的專業(yè)打法,包括「學(xué)習(xí)路線+簡歷模板+實(shí)習(xí)避坑+筆試面試+試用轉(zhuǎn)正+升職加薪+跳槽技巧+副業(yè)外快」。

          劍指大廠不僅是一個(gè)獲取信息的圈子,還是一個(gè)規(guī)劃職業(yè)的導(dǎo)師。已在知識(shí)星球,更新如下(點(diǎn)擊下圖了解更多):

          ////////////

          若覺得文章對你有幫助,隨手轉(zhuǎn)發(fā)分享,也是我們繼續(xù)更新的動(dòng)力。


          長按二維碼,掃掃關(guān)注哦

          ?「C語言中文網(wǎng)」官方公眾號(hào),關(guān)注手機(jī)閱讀教程??



          瀏覽 115
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  人妻无码一区二区 | 成人片在线 | 国产豆花视频 | 91大香蕉伊人 | 免费观看黄色a片 |