關于C語言
C語言是高級編程語言,至于什么是高級編程語言,這里不贅述,自己去溫習。但是最初C語言是為了開發uinx系統而被創造出來的,所以UNIX操作系統以及C編譯器都是由C語言開發出來的。C語言成為比較廣泛的開發語言,主要有以下優點,第一點是容易學習,我覺得這一點其實是相比較編譯語言而言的,因為我學的時候被指針和鏈表搞的半死,并不怎么認同,相比python、php,還是難了點,但是這門語言對于學習計算機組成原理和操作系統還是幫助很大的,因為沒有封裝那么多東西。第二點是支持多平臺編譯并且效率高,這點是很重要的,想一想為什么用它來開發操作系統就知道了。我現在接觸的好多東西都是用C寫的,只是我們生存在上層,看不到底層的一些東西而已。MySQL跟UNIX系統一樣都是用C編寫的,所以如果你想熟練的掌握并且了解MySQL具體的存儲機制,建議你好好學習C語言。
C和C++
大一的時候這兩門課程是一起上的,但是真的是C和C++傻傻分不清楚,以為,C++就是C語言的升階版。其實并不僅僅是這樣,這樣也對,但是這門說很不負責任。知乎上有人探討過說C和C++哪個更適合初學者,百家爭鳴,各執一詞,但是不可置否的是,C語言更基礎,也更好學一點。C語言是面向過程的結構化編程,通俗的講,就是以程序的執行過程為核心,按順序,先做什么,后做什么,最后做什么,這樣的好處在于便于我們的理解,因為最初學習的時候就是這樣一個過程。而C++是面向對象的編程,偏向于把整個事情分成一個一個部分,然后每個部分對應的包含典型的一些特點,比如汽車行駛這一個過程,將汽車抽象成為一個對象,內部有汽車的一些屬性值,比如名字,類型,顏色之類的,然后根據需求,定制一些方法,我們要讓汽車行駛,就是通過調用方法來改變汽車的一些屬性值而已。C++的特性太多,其實對初學者并不是很友好,如果沒有實踐或者項目經歷很難真正的體會其中的奧妙,但是C就不一樣了,相比C++更精簡一些,但是又能很好的成為學習C++的敲門磚。感覺STL封裝的一些list、stack、mapping之類的好用但是不夠清楚,通過C語言編寫,走一遍流程,體會會更深刻一點。
GCC(GNU Compiler Collection)
這是用來編譯C語言的編譯器,也常被認為是跨平臺編譯器的事實標準,編譯就是為了把高級語言編程計算機可以識別的2進制語言,想具體了解,可以去了解下編譯器的工作過程。