学弟学妹看过来,小白到大神必经之路!
學(xué)習(xí)建議
C語言
學(xué)好C可能不會讓你找到個好工作,不知道你們用的是什么書,如果是清華大學(xué)的那本就直接丟垃圾桶吧。圖書館負(fù)一層的好書(ps:我們學(xué)校的計算機書都在負(fù)一層,看的人少。。)多得是,還有C語言作者寫的,首選國外的書,然后是國內(nèi)的。C的重要就是指針+數(shù)據(jù)結(jié)構(gòu)。有一本不錯的書,如《C和指針》及《C專家編程》。不過,如果不是搞嵌入式的話,C可能會用得很少,多數(shù)都是Java的面向?qū)ο蟆D書館有很多,很不錯的書。。這是我們學(xué)校的一個不算是優(yōu)點的優(yōu)點,我不知道你們系的老師怎樣,但是請相信多數(shù)情況下只有混得不好的才來當(dāng)老師(ps:很一般的二本院校)。只是少部分老師也很優(yōu)秀,至少在我們專業(yè)中——電子信息工程是這樣的。在我們專業(yè)領(lǐng)域,C才是神器相比于匯編語言,只是這個時代匯編語言用于提升運行效率顯得有點。。。
面向?qū)ο?/strong>
面向?qū)ο?#xff0c;一個比較好的起點就是Java,這個印象中經(jīng)常看到計算機系的孩子拿著這些的書,然后你可能需要《Head First設(shè)計模式》,接著是四人班GoF的經(jīng)典之作《設(shè)計模式》,還有很多,如果覺得Java麻煩。可以試著用Ruby或者Python,Ruby有一本《Ruby設(shè)計模式》,學(xué)設(shè)計模式的優(yōu)點是如果你面向?qū)ο蟮乃季S不是很強的時候可以用到。用Ruby可能會使學(xué)習(xí)快些,在學(xué)習(xí)設(shè)計模式的時候,問題是國內(nèi)用這種語言可能會比較少。需要考慮一下,Python會比Ruby多一點,如果有所謂的愛國情節(jié),就從Python開始,國外的孩子好像都是。
C++算是一門不錯的語言,只是現(xiàn)在用得比較多的好像是在游戲領(lǐng)域。這門領(lǐng)域太復(fù)雜了,所以不要以為你的教科書上面的東西那么簡單,請相信教科書是給考試準(zhǔn)備的,而不是給實戰(zhàn)準(zhǔn)備的。所以,除非有好的發(fā)展(比如,有親戚等在這方面工作,而且現(xiàn)在主要是在游戲中用得比較多),要不請暫時放棄C++。Java提煉了一些C++的精華,比較面向?qū)ο蠖液蛯I(yè)課相關(guān),算是一個很好的起點。簡化面向?qū)ο蟮膶W(xué)習(xí)就是上面說的設(shè)計模式。
操作系統(tǒng)
開始使用Linux。開始可以考慮用Ubuntu或者M(jìn)int,國內(nèi)用得比較多。我比較喜歡使用openSUSE。如果你有臺MAC 就再好不過了。試著從底層去了解一個程序是怎么運行的。從開機到一個程序的運行,其中你可能需要了解的是《Linux內(nèi)核原理與實現(xiàn)》。以及你們專業(yè)自帶的《操作系統(tǒng)原理》,如果用的還是國內(nèi)的書的話,請換成圖書館的國外的書。Unix的有些東西和Linux上面是類似的,所以可以試著在上面寫C程序,附上一本書《unix環(huán)境高級編程》。
Windows很好很強大,但是如果你想提高你的技術(shù)試著用Linux。 每個人的看法可能不同的,但是如果要學(xué)得相對全一點,請到Linux。當(dāng)然也可以選擇成為Windows的高手。Windows要成為高手有點難,Linux的學(xué)習(xí)曲線可能會有點陡。
所以有這樣一本書《鳥哥的Linux私房菜:基礎(chǔ)學(xué)習(xí)篇》,在我們實驗室512(ps:很受程序員歡迎的數(shù))中幾個都是以此為基礎(chǔ)學(xué)的。所以,請不要相信計算機學(xué)得好的都在計算機專業(yè)。魯迅學(xué)的也不是中文,你說是吧?
專業(yè)課
學(xué)好你們專業(yè)的課,比如《數(shù)據(jù)結(jié)構(gòu)與算法》、《操作系統(tǒng)原理》、《編譯原理》之類的,這類的書首先考慮國外的,再考慮國內(nèi)的。如果看不懂所謂的數(shù)學(xué),可以考慮一下《具體數(shù)學(xué)》。
雖然我不是計算機專業(yè)的,但是我開始學(xué)計算機比較早,其中可能走過一些彎路。數(shù)學(xué)在有些時候也是很重要的,不過我覺得國內(nèi)的教育太坑人了。所以可能需要一些國外的計算機數(shù)學(xué)方面的建議。
我可能是沒寫好本專業(yè)的課,但是我達(dá)到了本專業(yè)的要求,可以做出想要的東西。所以,要對自己的大學(xué)有一個好好的規(guī)劃。
發(fā)展建議
代碼閱讀
看別人寫的代碼。這是一個很省力的成長方式,有一本書叫做《代碼閱讀》。可以試著用這個當(dāng)起點去學(xué)習(xí),其中也提到了C的很多用法,所以那本書是一個很好的起點去學(xué)習(xí)。
更多的開源程序在Linux上面,所以這部分可能需要有Linux系統(tǒng)作為基礎(chǔ),所以盡快換成Linux,雙系統(tǒng)切換。如果實在有Windows強迫癥那就單Linux運行。
編程+項目
更多的編程+項目。試著用做一些東西來學(xué)編程,而不是按照書上說的一步步的來。國內(nèi)的書可能更多的按步就班的來。所以,用實現(xiàn)功能來學(xué)習(xí)編程,再慢慢來。
私活有時候是一種很不錯的成長方式,在大學(xué)中做了幾個網(wǎng)站,成長得很快,也有收入。雖然大部分都是源自網(wǎng)站前端的,但是請相信前端也很復(fù)雜。可能你們上的課和現(xiàn)在的不一樣了,現(xiàn)在的前端的位置比課堂上的那些老師說的重要得多。服務(wù)器的配置再高也會有個限制,但是將一些計算放在用戶的瀏覽器里,是一種很劃算的方式。
至于有些編程經(jīng)驗嘛,可以由比賽中獲得,印象中計算機系會有很多比賽。另外,你如果感覺自學(xué)C/C++語言有困難的話,我本身是一個C/C++出身的程序員,我整理了一些學(xué)習(xí)C語言的視頻在扣裙,大家有興趣可以一起來學(xué)習(xí),893,154,,226。
閱讀書籍
如果有一天你覺得自己寫的代碼不行的話,請試著用《重構(gòu)》這本書來改善你的代碼。
如果有一天你覺得面向?qū)ο蟮乃枷氩粔虻脑?#xff0c;請試著閱讀《設(shè)計模式》來提升。
如果有一天你覺得沒學(xué)好C語言的時候,請試著閱讀《C和指針》。
。。。
所以,當(dāng)你覺得不足的時候,請閱讀。
(PS:大一到大四看了500左右的計算機書,因為想了解全一點,所以看得有點多,習(xí)慣于像福爾摩斯一樣的作法。剛那些東西當(dāng)成書庫一樣存儲,以使自己找到更合理的解決方案,但是后來發(fā)現(xiàn)有時候是不可取的。現(xiàn)在的結(jié)果是編程經(jīng)驗遠(yuǎn)遠(yuǎn)不足,好在未來的東家看好我。)
我的大學(xué)目標(biāo)
僅做參考,大學(xué)做了一個簡單的目標(biāo)規(guī)劃,但是都實現(xiàn)了。
找個女朋友(很好的一個妹子,希望能一直在一起。)
400+的書籍閱讀(實際500+,書架上70+)
能做想做的東西(硬件+軟件)
大一請好好加油,路還很長。我和你一樣周圍的人都是如此不思上進(jìn),問題在于要讓自己更自律、自覺,有一天你會發(fā)現(xiàn)自己技能上強大了,心理上強大了。還有的話試著找個女朋友,考慮在以后,而不是在大一大二。
總結(jié)
以上是生活随笔為你收集整理的学弟学妹看过来,小白到大神必经之路!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新华社专题报道|陕建集团:打造「建筑行业
- 下一篇: 如何在weblogic启动时让其加载指定