對于大部分程序員,C語言是學(xué)習(xí)編程的第一門語言,很少有不了解C的程序員。
C語言除了能讓你了解編程的相關(guān)概念,帶你走進(jìn)編程的大門,還能讓你明白程序的運(yùn)行原理,比如,計算機(jī)的各個部件是如何交互的,程序在內(nèi)存中是一種怎樣的狀態(tài),操作系統(tǒng)和用戶程序之間有著怎樣的“愛恨情仇”,這些底層知識決定了你的發(fā)展高度,也決定了你的職業(yè)生涯。
如果你希望成為出類拔萃的人才,而不僅僅是碼農(nóng),這么這些知識就是不可逾越的。也只有學(xué)習(xí)C語言,才能更好地了解它們。有了足夠的基礎(chǔ),以后學(xué)習(xí)其他語言,會觸類旁通,很快上手,7 天了解一門新語言不是神話。
C語言概念少,詞匯少,包含了基本的編程元素,后來的很多語言(C++、Java等)都參考了C語言,說C語言是現(xiàn)代編程語言的開山鼻祖毫不夸張,它改變了編程世界。
正是由于C語言的簡單,對初學(xué)者來說,學(xué)習(xí)成本小,時間短,結(jié)合本教程,能夠快速掌握編程技術(shù)。
在世界編程語言排行榜中,C語言、Java 和 C++ 霸占了前三名,擁有絕對優(yōu)勢,如下表所示:
-- |
2015年01月榜單 |
2015年06月榜單 |
2018年01月榜單 |
|||
---|---|---|---|---|---|---|
排名 |
語言 |
占有率 |
語言 |
占有率 |
語言 |
占有率 |
1 |
C |
16.703% |
Java |
17.822% |
Java |
14.215% |
2 |
Java |
15.528% |
C |
16.788% |
C |
11.037% |
3 |
Objective-C |
6.953% |
C++ |
7.756% |
C++ |
5.603% |
4 |
C++ |
6.705% |
C# |
5.056% |
Python |
4.678% |
5 |
C# |
5.045% |
Objective-C |
4.339% |
C# |
3.754% |
6 |
PHP |
3.784% |
Python |
3.999% |
JavaScript |
3.465% |
7 |
JavaScript |
3.274% |
Visual Basic .NET |
3.168% |
Visual Basic .NET |
3.261% |
8 |
Python |
2.613% |
PHP |
2.868% |
R |
2.549% |
9 |
Perl |
2.256% |
JavaScript |
2.295% |
PHP |
2.532% |
10 |
PL/SQL |
2.014% |
Delphi/Object Pascal |
1.869% |
Perl |
2.419% |
2017年,由于小型軟件設(shè)備的蓬勃發(fā)展以及汽車行業(yè)底層軟件的增加,C語言還拿下了「 年度編程語言 」的桂冠,成為 2017 年全球增長最快的編程語言。下表列出了最近 10 年的“年度編程語言”:
年 份 |
2017 |
2016 |
2015 |
2014 |
2013 |
2012 |
2011 |
2010 |
2009 |
2008 |
---|---|---|---|---|---|---|---|---|---|---|
優(yōu)勝者 |
C |
Go |
Java |
JavaScript |
Transact-SQL |
Objective-C |
Objective-C |
Python |
Go |
C |
當(dāng)然,C語言也不是沒有缺點(diǎn),畢竟是70后老人,有點(diǎn)落后時代,開發(fā)效率較低,后來人們又在C語言的基礎(chǔ)上增加了面向?qū)ο蟮臋C(jī)制,形成了一門新的語言,稱為C++ 。
C語言難嗎?
和 Java、C++、Python、C#、JavaScript 等高級編程語言相比,C語言涉及到的編程概念少,附帶的標(biāo)準(zhǔn)庫小,所以整體比較簡潔,容易學(xué)習(xí),非常適合初學(xué)者入門。
編程語言的發(fā)展大概經(jīng)歷了以下幾個階段:
匯編語言 --> 面向過程編程 --> 面向?qū)ο缶幊?/p>
-
匯編語言是編程語言的拓荒年代,它非常底層,直接和計算機(jī)硬件打交道,開發(fā)效率低,學(xué)習(xí)成本高;
-
C語言是面向過程的編程語言,已經(jīng)脫離了計算機(jī)硬件,可以設(shè)計中等規(guī)模的程序了;
-
Java、C++、Python、C#、PHP 等是面向?qū)ο蟮木幊陶Z言,它們在面向過程的基礎(chǔ)上又增加了很多概念。
C語言出現(xiàn)的時候,已經(jīng)度過了編程語言的拓荒年代,具備了現(xiàn)代編程語言的特性,但是這個時候還沒有出現(xiàn)“ 軟件危機(jī) ”,人們沒有動力去開發(fā)更加高級的語言,所以也沒有太復(fù)雜的編程思想。
也就是說,C語言雖然是現(xiàn)代編程語言,但是它涉及到的概念少,詞匯少,思想也簡單。C語言學(xué)習(xí)成本小,初學(xué)者能夠在短時間內(nèi)掌握編程技能,非常適合入門。
C語言是計算機(jī)產(chǎn)業(yè)的核心語言
也許是機(jī)緣巧合,C語言出現(xiàn)后不久,計算機(jī)產(chǎn)業(yè)開始爆發(fā),計算機(jī)硬件越來越小型化,越來越便宜,逐漸進(jìn)入政府機(jī)構(gòu),進(jìn)入普通家庭,C語言成了編程的主力軍,獲得了前所未有的成功,操作系統(tǒng)、常用軟件、硬件驅(qū)動、底層組件、核心算法、數(shù)據(jù)庫、小游戲等都使用C語言開發(fā)。
雷軍說過,站在風(fēng)口上,豬都能飛起來;C語言就是那頭豬,不管它好不好,反正它飛起來了。
C語言在計算機(jī)產(chǎn)業(yè)大爆發(fā)階段被萬人膜拜,無疑會成為整個軟件產(chǎn)業(yè)的基礎(chǔ),擁有核心地位。
軟件行業(yè)的很多細(xì)分學(xué)科都是都是基于C語言的,學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)、算法、操作系統(tǒng)、編譯原理等都離不開C語言,所以大學(xué)將C語言作為一門公共課程,計算機(jī)相關(guān)專業(yè)的同學(xué)都要學(xué)習(xí)。
C語言被譽(yù)為“上帝語言”,它不但奠定了軟件產(chǎn)業(yè)的基礎(chǔ),還創(chuàng)造了很多其它語言,例如:
- PHP、Python 等都是用C語言開發(fā)出來的,雖然平時做項(xiàng)目的時候看不到C語言的影子,但是如果想深入學(xué)習(xí) PHP 和 Python,那就要有C語言基礎(chǔ)了。
- C++ 和 Objective-C 干脆在C語言的基礎(chǔ)上直接進(jìn)行擴(kuò)展,增加一些新功能后變成了新的語言,所以學(xué)習(xí) C++ 和 Objective-C 之前也要先學(xué)習(xí)C語言。
C語言是有史以來最為重要的編程語言:要進(jìn)入編程行業(yè)高手級別必學(xué)C語言,要掙大錢必學(xué)C語言,要做黑客、紅客必學(xué)C語言,要面試名企、外企、高薪職位必學(xué)C語言。
原文地址:https://blog.csdn.net/hezeyujiang/article/details/79498853