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