1.標(biāo)準(zhǔn)C語言能干什么? 坦白講,在今天軟件已經(jīng)發(fā)展了半個(gè)多世紀(jì),單純的C語言什么都干不了。標(biāo)準(zhǔn)C語言庫只提供了一些通用的邏輯運(yùn)算方法以及字符串處理,當(dāng)然字符串在C語言看來也是一種操作內(nèi)存的方法,所以單純的C什么都做不了,不論是游戲客戶端,服務(wù)器以及其他插件標(biāo)準(zhǔn)C語言要配合相應(yīng)的系統(tǒng)C調(diào)用和其他語言共同完成一個(gè)完整的軟件。所以C只是一個(gè)入門,要想吃軟件這碗飯還有很長的路要走。 2.從學(xué)會C語言到能寫軟件還要做什么? I.個(gè)人認(rèn)為第一步是學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法。推薦一本書:《數(shù)據(jù)結(jié)構(gòu)(C語言版) 》。 有能力的同學(xué)應(yīng)該從這本書開始就要慢慢開始英文原版閱讀,當(dāng)然在這里我給大家說的還是中文版的名字。 數(shù)據(jù)結(jié)構(gòu)和算法兩者密不可分,數(shù)據(jù)結(jié)構(gòu)體現(xiàn)了數(shù)據(jù)在內(nèi)存和硬盤中存儲的形態(tài),如何運(yùn)用這些形態(tài)進(jìn)行最優(yōu)化操作,就要靠相應(yīng)的算法來實(shí)現(xiàn)了 II.了解一點(diǎn)匯編知識。推薦一本書《匯編語言》作者:王爽 可以說這本書是中國代碼人的驕傲,目前為止我還未看到過像王老師這樣文筆流暢,深入淺出的把一個(gè)生澀的匯編語言描述的如此清晰的大師。王老師用中國人的思維方式,語言習(xí)慣,學(xué)習(xí)思路為我們介紹了匯編,這一點(diǎn)上驚為天人!!! III.還是介紹一本書,不過這本書算是課外讀物吧《編碼——隱匿在計(jì)算機(jī)軟硬件背后的語言》。看這本書時(shí)可以和前面幾個(gè)步驟平行進(jìn)行。這本書并不教你軟件編程,卻用宏觀的角度概括了從數(shù)模電到C語言層次計(jì)算機(jī)的整體思路。非常棒。 3.用什么系統(tǒng)學(xué)C? linux!毫無疑問,天下武功出少林,所有操作系統(tǒng)出UNIX。而linux則是UNIX集大成者。linux版本眾多,推薦Ubuntu,其界面友好,又不失UNIX本真。當(dāng)然有錢的朋友用個(gè)蘋果本本在Mac上搞也是一樣牛逼的,但蘋果這個(gè)東西學(xué)生party還不是每個(gè)人都消費(fèi)的起的,所以沒有條件的同學(xué)搞個(gè)Ubuntu玩玩就夠了。現(xiàn)在用wubi這個(gè)軟件,可以在window上直接格出一個(gè)文件夾作為Ubuntu的系統(tǒng)路徑,跟安裝一個(gè)應(yīng)用軟件一樣簡單,所以大家為何不試試呢。 在Ubuntu上我推薦大家跟著一本書來走《LinuxC一站式編程》宋勁彬老師所寫。現(xiàn)在已近絕版,但網(wǎng)上有開源免費(fèi)書籍可以下到。宋老師在國內(nèi)時(shí)一直是一個(gè)較為有名的軟件培訓(xùn)學(xué)校老師,這本書也是從零基礎(chǔ)直接到LinuxC程序員的一條捷徑,但由于是職業(yè)培訓(xùn)學(xué)校教材,就在基本功方面砍去了一些東西,我希望大家不要把這些基本的東西丟掉,否則到了三四十歲可能你就沒飯吃了。 4.掌握幾種語言就可以算是個(gè)合格的程序員了呢? 這個(gè)問題仁者見仁智者見智。從我個(gè)人的角度講,我現(xiàn)在玩過的語言全加起來一共有這么幾種:C,C++,JAVA,Javascript,VB,Lua,SQL 不要被他們嚇到,也不要膜拜哥,吼吼吼(自戀了)。 其實(shí)他們的本質(zhì)叫做過程式語言,只不過有的逼格高些叫做面向?qū)ο蟮恼Z言,有的叫做模塊化語言,有些是腳本語言。 可以說學(xué)會C以后,其他語言從開始看到上手干活我沒有超過一星期的。當(dāng)然學(xué)C的時(shí)候要配合這些內(nèi)容一起學(xué)習(xí),所以也不能單純的講之前只是學(xué)C語言。每一種語言其實(shí)只是和計(jì)算機(jī)對話的一種接口,通過學(xué)習(xí)一種語言我們要更多的是了解計(jì)算機(jī)的整體思考模式。C語言普遍作為第一個(gè)要學(xué)的語言可以說是易學(xué)難精,因?yàn)樗闹饕氊?zé)就是不斷地和操作系統(tǒng)乃至硬件直接打交道(較為直接吧,從軟件角度來看就是直接接觸硬件了,但在硬件角度上看中間還隔著若干層呢,我硬件功力很薄弱在這里就不能跟大家胡噴了) 5.軟件編寫的進(jìn)階 如果你想當(dāng)一個(gè)作家,是不是首先要讀很多書之后再寫書呢?正所謂厚積薄發(fā)。 同樣的,寫代碼也一樣,學(xué)會一門語言也就相當(dāng)于你會寫字了,但從會寫字到會寫文章中間的差距有多大,各位應(yīng)該心里也就有數(shù)了。 所謂進(jìn)階無非是大量的看優(yōu)秀的開源代碼,github絕對是需要膜拜的,很多優(yōu)秀的開源社區(qū)源碼在上面看都看不完,大家要好好利用這里的資源。 關(guān)于看源碼還有很多方法,技巧,今天有點(diǎn)事要出去了,晚上回來或者明天,如果大家愿意看的話,再跟大家分享。 以上就是我一個(gè)小小碼農(nóng)的一點(diǎn)點(diǎn)微末心得。 以下課程可免費(fèi)試聽C語言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。 想學(xué)習(xí)的你和我聯(lián)系預(yù)約就可以免費(fèi)聽課了。 宋工企鵝號:3524-6590-88 Tel/WX:173--1795--1908 |