C語言同C++、Python等都是通用性的編程語言,它們不針對某一個特定的方向,能做的事情很多。C語言主要用于底層開發(fā),Windows、Linux、Unix 等操作系統(tǒng)的內(nèi)核90%以上都使用C語言開發(fā),開發(fā)硬件驅(qū)動,讓硬件和操作系統(tǒng)連接起來,這樣用戶才能使用硬件、程序員才能控制硬件。 借用我一個朋友的名言:“現(xiàn)在的程序員,不掌握好幾門語言都不好意思跟別人打招呼?!本湍壳暗钠髽I(yè)的崗位設(shè)置來說,只會C語言的話(當然,能達到深究算法、操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)協(xié)議的C語言工程師除外),基本上是找不到工作的。首先我們要選定一個方向,繼續(xù)學習其他知識,后面就會發(fā)現(xiàn),C語言不過是冰山一角,是一項基本求生技能而已,除此以外,程序員要學習的東西還有很多。 對于很多C語言初學者,都會存在如下誤區(qū):學習C語言之后今后就要在C語言這條路上走到黑。其實學習C語言并不一定要從事與C語言有關(guān)的開發(fā)工作。C語言是一門簡單、底層、較早的編程語言,后來的很多語言在語法上都和C語言類似,稱為“類C語言”,例如 Java、C++、C#、PHP、JavaScript 等,學完C語言再學這些語言都很容易上手。或者也可以這么理解,學好C語言,可以奠定我們今后學習其他編程語言(類C語言)的基礎(chǔ)。 如果你是零基礎(chǔ)學習C語言的小白,我建議大家先想明白以下幾個問題: ▌未來從業(yè)方向:學習C語言能干什么? C語言既有高級語言的特點,又有匯編語言的特點。它可以作為工作系統(tǒng)設(shè)計語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,具體應(yīng)用比如單片機以及嵌入式系統(tǒng)開發(fā)。 C語言是面向過程語言,C語言通過windows平臺下編譯的,是直接運行在windows平臺下的,而Java始終是運行在他的虛擬機之上的;所以理論上C語言能做一些相對于比較底層的工作,像Java就不能編寫Windows病毒。 一句話概括:如果要利用編程來做一些windows優(yōu)化工作的話,建議還是利用C語言。C語言是目前世界上流行、使用最廣泛的高級程序設(shè)計語言 ▌需要掌握哪些技能才能滿足企業(yè)用人需求? C語言常規(guī)崗位職責: 1、服務(wù)器軟件開發(fā); 2、負責項目架構(gòu)設(shè)計,TCP/IP協(xié)議定義; 3、負責系統(tǒng)的架構(gòu)設(shè)計、性能瓶頸分析、性能調(diào)優(yōu)工作; 4、負責技術(shù)難點的攻破。 C語言常規(guī)崗位任職要求: 1、3年以上服務(wù)器相關(guān)開發(fā)經(jīng)驗,熟悉TCP/IP協(xié)議,及制定和規(guī)范協(xié)議; 2、熟練TCP、UDP協(xié)議編程,熟練socket網(wǎng)絡(luò)通訊編程; 3、熟練C語言編程,熟悉C++編程; 4、熟悉Linux系統(tǒng)編程,多線程和多進程編程; 5、熟悉epoll、select等服務(wù)器端異步高并發(fā)模式,libevent或者libev等應(yīng)用; 6、熟悉Mysql數(shù)據(jù)庫,及API編程。熟悉SQL語言; 7、能處理數(shù)據(jù)庫連接池性能瓶頸優(yōu)先考慮。 ▌零基礎(chǔ)學習C語言,怎么入門? 能接受枯燥學習法的初學者,啃書效果肯定是奏效的,基礎(chǔ)入門書籍吃透一本,收獲頗豐。 推薦幾本入門書籍: 1、《C程序設(shè)計語言》 推薦理由:全面、系統(tǒng)、準確地講述了C語言的各個特性以及程序設(shè)計的基本方法。對于計算機從業(yè)人員來說,《C程序設(shè)計語言》是一本必讀的程序設(shè)計語言方面的參考書。 零基礎(chǔ)學習C語言如何入門(內(nèi)附工具書推薦+視頻教程) 2、《C primer plus》 推薦理由:本書全面講述了C語言編程的相關(guān)概念和知識。適合希望系統(tǒng)學習C語言的讀者,也適用于精通其他編程語言并希望進一步掌握和鞏固C編程技術(shù)的程序員。 零基礎(chǔ)學習C語言如何入門(內(nèi)附工具書推薦+視頻教程) 3、《C陷阱與缺陷》 零基礎(chǔ)學習C語言如何入門(內(nèi)附工具書推薦+視頻教程) 推薦理由:結(jié)合自己的工作經(jīng)驗,創(chuàng)作了這本對C程序員具有珍貴價值的經(jīng)典著作。出發(fā)點不是要批判C語言,而是要幫助C程序員繞過編程過程中的陷阱和障礙。分別從詞法分析、語法語義、連接、庫函數(shù)、預(yù)處理器、可移植性缺陷等幾個方面分析了C編程中可能遇到的問題。 |
|