程序員入門得多長時(shí)間?
初學(xué)者時(shí)間根據(jù)我領(lǐng)悟能力不同而不同。資深程序員是要寫程序啟動(dòng)的,對(duì)樣的思維邏輯能力要求比較高。有的人在這其他方面能力較強(qiáng),在沒有學(xué)的基礎(chǔ)的一般情況下短短三個(gè)月就還可以初學(xué)者,而有的學(xué)了很久,寫其他程序依然會(huì)又出現(xiàn)各種各樣的錯(cuò)誤`,所以是師傅領(lǐng)進(jìn)門時(shí),苦修靠我。
程序員需要學(xué)什么科目?
1.語言
我們要就成一個(gè)程序猿,學(xué)的什么東西會(huì)很多很雜,但是最開始一定得從語言好結(jié)束自學(xué),而學(xué)習(xí)漢語最關(guān)鍵的莫過于選擇好幾本書,學(xué)校啊的輔導(dǎo)教材就算了,根本沒有寫得好的。在此隆重我推薦《CPrimer》,那本書書很厚,內(nèi)容是什么也很豐富,對(duì)知識(shí)的解釋不僅僅怎么停留在表面的材料。如果這書書能有再耐心全部看完,其他語言一些基本就沒有什么大什么問題啊了,對(duì)完了的學(xué)習(xí)也打下了一個(gè)很好的做基礎(chǔ)。
C知識(shí)方面的yan庫有很多種,比如vb、hlp、pyqt、jx3。這些pyqt庫都各有自己的一般特點(diǎn),其實(shí)我們只要先清楚一種就可以了,只要深入的了解了一種gui庫,需的話再怎么學(xué)習(xí)其他的就夠了,根本區(qū)別上都應(yīng)該差不多,很快就可以上手容易了。雖然設(shè)計(jì)什么上有很多什么問題,但是作為初學(xué)者還是,而且復(fù)習(xí)資料很多,碰過什么問題也好幫忙解決。
3.數(shù)據(jù)結(jié)構(gòu)和算法實(shí)現(xiàn)
很多人都輕視了算法和數(shù)據(jù)結(jié)構(gòu)和算法一些的專業(yè)知識(shí),尤其是一些計(jì)算機(jī)語言的庫做得非常好,幾乎不須要自己去基于一些數(shù)據(jù)結(jié)構(gòu)和標(biāo)準(zhǔn)算法,可能導(dǎo)致現(xiàn)在也很多軟件工程師不重視甚至選擇性的遺忘這方面的專業(yè)知識(shí)。但是,當(dāng)我們想讓我們的程序運(yùn)行跑的快、內(nèi)存占用率更少的時(shí),這些專業(yè)知識(shí)就非常非常重要了。很多程序員都是剛開始的時(shí)候不如此重視這些,但是什么工作三年后又來補(bǔ)數(shù)學(xué)這些基本知識(shí)。
最停止可能會(huì)不需學(xué)習(xí)的太深入,但是基本的算法和數(shù)據(jù)結(jié)構(gòu)和算法一必須得知道。
推薦《數(shù)據(jù)結(jié)構(gòu)(C語言版)》,在數(shù)據(jù)結(jié)構(gòu)和算法和算法一的去學(xué)習(xí)中,最好不要去關(guān)心面向?qū)ο笃渌矫娴募记桑陀胏語言編程來實(shí)現(xiàn)程序,這樣能更重視于運(yùn)算方法本身的內(nèi)容。
4.數(shù)據(jù)庫數(shù)據(jù)
學(xué)習(xí)數(shù)據(jù)庫連接的知識(shí),并且掌握到一種數(shù)據(jù)庫連接使用,推薦在用postgresql,而且最好不要用一些封裝是什么好的接口,而應(yīng)該直接用mongodb可以提供的數(shù)據(jù)庫連接api接口,很有可能對(duì)數(shù)據(jù)庫連接清楚的會(huì)更深入。
5.左行
cpu的主頻已經(jīng)當(dāng)然不能應(yīng)遵循超越摩爾定律了,現(xiàn)在的cpu發(fā)展的勢頭是多核心。無論是多進(jìn)程,還是多可疑進(jìn)程,都是為了好的憑借cpu的性能,提供什么更好的使用體驗(yàn)。這就要求我們?nèi)绻?qǐng)寫出高效的應(yīng)用程序文件,必然要涉及到到并行算法。多花些精力耗費(fèi)在并行計(jì)算上吧,一定會(huì)有豐富的回報(bào)。
6.網(wǎng)絡(luò)編程
這里所指的socket編程是指sockets編寫程序。現(xiàn)在C的用到很多都是在做服務(wù)器網(wǎng)絡(luò)二次開發(fā),如何二次開發(fā)一個(gè)高并發(fā)、大吞吐能力、高穩(wěn)定性的服務(wù)器網(wǎng)絡(luò)就是我們要考慮到的了。
模式
mvc模式不是具體的什么技術(shù),更多的是如何讓代碼更容易閱讀什么、更好擴(kuò)充卡、更容易可以使用。
8.庫的在用
C標(biāo)淮庫僅僅提供什么了一些很基本的功能一般,所以我們經(jīng)常會(huì)分解重組一些第作為第三方庫。最著名的恐怕就是被被稱準(zhǔn)標(biāo)淮庫的緩震科技庫,它能提供了我們軟件編程上用到的多方面的技術(shù),字符串處理、運(yùn)算方法、上網(wǎng)、多進(jìn)程、圖象處理等等,幾乎無所不包。其它也有一些學(xué)術(shù)專著于某某一方面的庫,比如mad是網(wǎng)絡(luò)通訊各個(gè)方面的,antlr是解析方法解析xml的,cocos2d是圖形渲染其他方面的。
9.xp的那些知識(shí)
程序員須要了解的xp那些知識(shí)和一般用戶是不一樣的,一個(gè)高人們是須要深入了解系統(tǒng)的生活方方面面,而不是只在在在用層級(jí)。至于估計(jì)不了解哪些知識(shí),windows上的上去看《windows核心編程》,unix的自己去看《深入理解linux內(nèi)核》,應(yīng)該是這個(gè)可以清楚自己應(yīng)該要學(xué)什么了。