什么是編程 想轉(zhuǎn)行成為一名程序員,如何高效率地學(xué)習(xí)編程?
想轉(zhuǎn)行成為一名程序員,如何高效率地學(xué)習(xí)編程?從2003年開始,我開始做編程。一般來(lái)說(shuō),我寫得越多,寫得就越少。在程序開發(fā)之初,我主要做了功能實(shí)現(xiàn)。負(fù)責(zé)項(xiàng)目設(shè)計(jì)的同事把界面寫得很好,剩下的就是功能實(shí)現(xiàn)。
想轉(zhuǎn)行成為一名程序員,如何高效率地學(xué)習(xí)編程?
從2003年開始,我開始做編程。一般來(lái)說(shuō),我寫得越多,寫得就越少。
在程序開發(fā)之初,我主要做了功能實(shí)現(xiàn)。負(fù)責(zé)項(xiàng)目設(shè)計(jì)的同事把界面寫得很好,剩下的就是功能實(shí)現(xiàn)。實(shí)現(xiàn)寫功能并不困難。簡(jiǎn)單地說(shuō),數(shù)據(jù)以固定格式處理后,就可以發(fā)回。在此期間,每天的代碼量相對(duì)較大,平均每天大約有500行。
隨著他們編碼能力的提高,很多代碼重用會(huì)做得更好。在整個(gè)實(shí)現(xiàn)過(guò)程中,他們會(huì)采用比較簡(jiǎn)單的實(shí)現(xiàn)方法,也懂得如何使用模塊化的開發(fā)模式。通過(guò)這個(gè)過(guò)程,代碼的數(shù)量在一定程度上減少了,但是思考的時(shí)間變長(zhǎng)了,有時(shí)需要一些時(shí)間來(lái)驗(yàn)證。在2006年確定自己的主要方向時(shí),代碼量再次下降。因?yàn)楣ぷ髦行囊呀?jīng)從函數(shù)編寫調(diào)整到了一些框架設(shè)計(jì)和算法實(shí)現(xiàn),這段時(shí)間每天的代碼量大約在200行左右,其中很多是編寫接口。在此期間,重點(diǎn)工作是實(shí)現(xiàn)算法,做數(shù)據(jù)分析和建模。在這段時(shí)間里,還使用了Matlab,因此編碼量大大減少,但難度增加了很多。有時(shí)需要一周甚至更長(zhǎng)的時(shí)間來(lái)完成算法的驗(yàn)證。
2010年之后,我將機(jī)器學(xué)習(xí)和大數(shù)據(jù)添加到我的主要攻擊方向。這時(shí),我每天的代碼量又下降了,平均有100多行。有時(shí)一天可以寫幾十行代碼,對(duì)算法進(jìn)行分析、訓(xùn)練和驗(yàn)證的時(shí)間就變長(zhǎng)了。當(dāng)java第一次被使用時(shí),代碼的數(shù)量可能會(huì)更多。后來(lái),當(dāng)使用Python時(shí),代碼量減少了很多。目前,算法的實(shí)現(xiàn)也采用Python。
事實(shí)上,在計(jì)算機(jī)研發(fā)中,編程更像是一種工具。無(wú)論使用何種語(yǔ)言,最終的任務(wù)都是實(shí)現(xiàn)功能。編碼量與角色有很大關(guān)系,但與編程水平?jīng)]有直接關(guān)系。當(dāng)然,高級(jí)程序員必須有大量的代碼基礎(chǔ),這是毋庸置疑的。