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