對於大部分程序員,C語言是學習編程的第一門語言,很少有不了解C的程序員。
C語言除了能讓你了解編程的相關概念,帶你走進編程的大門,還能讓你明白程序的運行原理,比如,計算機的各個部件是如何交互的,程序在內存中是一種怎樣的狀態,操作系統和用戶程序之間有著怎樣的“愛恨情仇”,這些底層知識決定了你的發展高度,也決定了你的職業生涯。
如果你希望成為出類拔萃的人才,而不僅僅是碼農,這麼這些知識就是不可逾越的。也只有學習C語言,才能更好地了解它們。有了足夠的基礎,以後學習其他語言,會觸類旁通,很快上手,7 天了解一門新語言不是神話。
C語言概念少,詞匯少,包含了基本的編程元素,後來的很多語言(C++、Java等)都參考了C語言,說C語言是現代編程語言的開山鼻祖毫不誇張,它改變了編程世界。
正是由於C語言的簡單,對初學者來說,學習成本小,時間短,結合本教程,能夠快速掌握編程技術。
在世界編程語言排行榜中,C語言、Java 和 C++ 霸占了前三名,擁有絕對優勢,如下表所示:
-- |
2015年01月榜單 |
2015年06月榜單 |
2016年04月榜單 |
排名 |
語言 |
占有率 |
語言 |
占有率 |
語言 |
占有率 |
1
C
16.703%
Java
17.822%
Java
20.846%
2
Java
15.528%
C
16.788%
C
13.905%
3
Objective-C
6.953%
C++
7.756%
C++
5.918%
4
C++
6.705%
C#
5.056%
C#
3.796%
5
C#
5.045%
Objective-C
4.339%
Python
3.330%
6
PHP
3.784%
Python
3.999%
PHP
2.994%
7
JavaScript
3.274%
Visual Basic .NET
3.168%
JavaScript
2.566%
8
Python
2.613%
PHP
2.868%
Perl
2.524%
9
Perl
2.256%
JavaScript
2.295%
Ruby
2.345%
10
PL/SQL
2.014%
Delphi/Object Pascal
1.869%
Visual Basic .NET
2.273%
C語言誕生於20世紀70年代,年齡比我們都要大,請猛擊《C語言的發展及其版本》了解更多。
當然,C語言也不是沒有缺點,畢竟是70後老人,有點落後時代,開發效率較低,後來人們又在C語言的基礎上增加了面向對象的機制,形成了一門新的語言,稱為C++,我們將在VIP教程《C和C++到底有什麼關系》中講解。
C語言和Python
最近幾年,有一門新的語言異軍突起,奪得了大家的眼球,它就是Python。
在我們開始學編程的時候,Python並不是那麼“甚囂塵上”,中文資料也不多,絕大部分人還是從C學起,大學的課程也是這樣安排的,先學C、再學匯編、C++、Java等,把C作為一門基礎語言。
現在情況不同了,有一部分初學者放棄了C,從Python開始學起,認為Python簡單,容易學習,不像C那麼晦澀。
其實,Python 的“簡單”主要是指代碼格式清晰,語法沒有那麼嚴格,例如,在屏幕上顯示“C語言中文網”:
print "C語言中文網"
對比C語言的代碼:
puts("C語言中文網");
你看,Python不需要括號,也不需要最後的分號。
但是,不要被誤導了,Python涉及到的編程概念和編程思想並不簡單,比C語言要多要復雜。以我的實際感受,Python的學習成本並不比Java、C++小。
任何編程語言都一樣,不管是你的學長學姐告訴你簡單,還是你自己認為簡單,其實都是錯誤的觀念,不要被這些觀念誤導。
你可以認為X語言比Y語言在軟件開發方面更加優秀,或者M語言比N語言在數據挖掘方面更加方便,但是絕不能認為哪一種語言更加簡單。每一種編程語言都有自己的應用領域,要學習合適的語言,而不是“簡單”的語言。
總之,我不認為學習Python的成本比C小。
值得一提的是,Python也是用C來開發的,如果你希望更好的學習Python,那麼肯定也要學習C。