1. 程式人生 > >為什麼知乎上大多數人不推薦C語言入門?

為什麼知乎上大多數人不推薦C語言入門?

計劃中,其實今天是要發五子棋專案附帶原始碼的推文。但是看了知乎…

知乎並非程式設計師社群,很多這方面話題的參與者僅僅是工作涉及程式設計,並沒有多少是程式設計師。所以主流輿論對C充滿了恐懼和……厭惡。對他們來說,C簡直是必須立刻馬上當即淘汰掉的、恐怖的老不死。以至於大言不慚的“C只能做底層”之類胡言亂語都出來了。

歡迎加入學習群【892643663】,獲取全套免費C/C++企業實戰級課程資源(素材+原始碼+視訊)和編譯大禮包

先來普及下C的特點:

它不作任何封裝,把整個硬體、整個作業系統赤裸裸的擺在你的面前;同時它又是一種高階語言。使得它的使用者不必關注太多底層細節,於是在其上無論是討論演算法、還是談論作業系統、網路協議棧、編譯原理等等,都極為簡單直觀。

這些特點使得C極具生命力。甚至哪怕到了現在,C仍然是最為流行的程式語言之一。尤其是偏底層的系統級程式設計,更是C一家獨大,除了C++別無對手。

別以為C只能做底層。真正複雜、高難度、對效能有苛刻要求的、支柱性的大專案,C仍然當仁不讓、不可替代——我不知道那些說C不適合做專案的,究竟有沒聽說過linux,看過幾個開源專案。

C實現的任何東西,無論是作業系統還是編譯器,全都會以赤裸裸的演算法+資料結構的面目展示在你的面前。想知道什麼,只要從一個API開始跟,很容易就能搞明白——跟一跟某個硬體相關API,甚至可以幫助你準確理解硬體。

徹底學通之後,任何技術、任何架構,都能一目瞭然。

簡潔直白、案例眾多、學習資源豐富,這是C最為獨特的優勢。

除了C之外,你到哪裡找別的、有豐富的相關開源原始碼及其分析資料的語言?若學到這等程度了,連計算機原理都不會,還學個什麼鬼?

連個C指標都覺得難、然而卻還掙扎著想入這個門的……簡直不可想象。

這也就是為什麼我說要先學C語言,再考慮C++或Java還是Python還是PHP的原因。

2

很多人就不明白了,既然如此,為什麼知乎上大多數人不推薦C語言入門?

舉個例子:

就好比學武功是先練《少林基本功》還是直接練《辟邪劍法》的問題。

這裡就出現了分支,如果你只是有興趣,想要做出一些東西來驗證你的想法的話,可能《 Python 》《PHP》這樣的程式語言比較適合你。

目的性不是很強的學習,很容易因為畏難,無法解決問題就選擇放棄,所以建議還是選擇簡單一些,並且能馬上看到結果的語言來學習比較好。

這類程式語言就類似於程式設計界的《辟邪劍法》,你可以不懂底層,沒有基本功也能很快讓你上手,做出你印象中程式的樣子,這樣可以更好地提升你的興趣並且解決你的問題。

如果你是出於對這行的“錢景”,想要未來在這行紮根,並且有不錯的發展的話,應該不至於因為難而放棄吧?所以以我覺得想學習程式設計的朋友先從C語言入門還是不錯的。

歡迎加入學習群【892643663】,獲取全套免費C/C++企業實戰級課程資源(素材+原始碼+視訊)和編譯大禮包