Hi,您好,歡迎來到西安天任軟件科技有限責任公司!

爲什麽要學C語言

發布時間:2021-03-04 16:08:35

爲什麽要學C語言


未命名的設計 (1).png 

爲什麽要把C語言作爲第一語言去(qù)學習?

 

C語言(以及C++)幾乎是(shì)現(xiàn)今計算機軟件的基石,無論是(shì)操作系統、其它語言的編譯器,甚至電飯煲裏的單片機運行的程序,大多數是(shì)用C/C++編寫的。

如果你不是(shì)懷着功利主義去(qù)學習編程,C語言其實是(shì)一個不錯的編程入門語言。


首先,C語言相(xiàng)對許多現(xiàn)代語言來說是(shì)十分簡單(或者說是(shì)原始)。它沒有内置面向對象、函數式編程、源編程等編程範式的功能,隻有30來個關鍵字,少量的概念。可以比較短時間内完整地學完這個語言。


第二,學習C語言适合同時學習計算機構架,各種數據類型(包括重要的指針)都是(shì)直接能和計算機構架的概念對應,語言裏面沒有魔法,都是(shì)很平凡直觀。你會知(zhī)道數據在内存中是(shì)怎麽存儲的,占多少個字節。很多語言的抽象層次更高,不能做到這一點。


第三,很對語言都有類似C語言的語法(如C#javajavaScript,例如花括号、分号、注釋、ifforwhiledo while等等。用C語言入門編程後,這些知(zhī)識可以過渡至其他語言。

 

由于大多數程序員(yuán)或多或少學習過C語言,作爲一門[通用語],各大網站都會介紹一些編程相(xiàng)關的知(zhī)識,有些上班族工作中會C++/C#比較多。很多學C語言的學生不知(zhī)道怎樣寫一些工程上有用的東西,有些學生會從零開始的JSON庫教程就是(shì)用C語言作爲例子

C語言中會有一些有意思的小知(zhī)識點,比如:

malloc的坑,分少了會buffer overflow,忘記free了又(yòu)會造成memory leak

unsigned int

如果你接觸C語言,但(dàn)不是(shì)系統學習和掌握的話(huà),就不懂對應的系統知(zhī)識,隻能看着非常的confusing的bug找不出原因

 

編程中一個重要的概念是(shì)抽象,簡單來說,就是(shì)把不需要的細節隐藏起來。


舉個例子

你在用筆寫字的時候,不會考慮筆頭的構造是(shì)怎麽樣讓墨水從筆芯裏面流出來,然後留在紙(zhǐ)上而隻需要考慮這支筆能不能用。


C語言是(shì)面向過程的,所以抽象程度相(xiàng)對較低,更像是(shì)需要一拳一腳練習的《少林基本功》,所以搞清楚,要想學習編程,并且想在這條路上走很久的話(huà),建議(yì)好好學練好紮實的基本功,爲了更方便以後的學習。


C語言更像是(shì)武功的基礎,《python》這樣的語言也許一上來就直接舞一套《辟邪劍法》,但(dàn)是(shì)如果對于體内真氣走向不清晰的話(huà),一旦出問題就容易走火(huǒ)入魔,更甚至是(shì)隻有厲害的劍招,沒有雄厚的内力支撐,這樣的後果就是(shì),一旦江湖再出現(xiàn)什麽厲害的武功,你就隻能感歎一句“*****”,然後加入争奪秘籍的隊伍中,否則隻能淪爲後背的墊腳石。


C語言就是(shì)你要清楚體内每一根經脈的走向,真氣彙聚的走向。這個不如python那樣好學,但(dàn)是(shì)相(xiàng)信我,隻要熬過這個坎,别說什麽辟邪劍法了,你就是(shì)心情大好想要打一套降龍十八掌,發一套六脈神劍,也隻會感歎一句,天下武功果然是(shì)殊途同歸啊,這就是(shì)高手和宗師的區别,也是(shì)個人價值的體現(xiàn)。


python》這種語言,有個兩三年其它語言經驗之後,想學的話(huà),一兩周就能快速上手,而C語言這樣的語言,你搞五年《python》,難度對你來說都低不了多少,還是(shì)一個學習的過程。

天下武功出少林,對于編程語言更是(shì)如此,C語言作爲始祖級的語言,肯定有缺點,但(dàn)是(shì)這種講究一拳一腳的練武方式,是(shì)普通人成長爲宗師最佳的方式之一。


你看江湖,一會來個辟邪劍法,一會來一個九陰白骨爪,偶爾降龍十八掌還來跑個龍套,但(dàn)是(shì)我少林武功依然屹立不倒,這也就是(shì)爲什麽我說要先學C語言,然後才考慮C++Java還是(shì)python還是(shì)PHP的原因。

 

學習有提高效率的方法,但(dàn)是(shì)絕對沒有捷徑可言。


上一篇:傻傻分不清的網絡知(zhī)識
下一篇:軟件測試的基本問題