也是cppblog一位同學(xué)寫(xiě)的文章,原文在
這里。
其實(shí)總的來(lái)說(shuō)這篇文章還是沒(méi)什么大的問(wèn)題,你看那五點(diǎn)粗字標(biāo)題,就是在告訴你不僅要寫(xiě)好的程序,還要寫(xiě)有用的程序。不過(guò)進(jìn)了公司老板很難給你寫(xiě)沒(méi)用的程序的,這點(diǎn)就忽略了。緊扣著客戶(hù)的需求寫(xiě)是好事,不過(guò)這跟廣大的大學(xué)同學(xué)們還是沒(méi)什么關(guān)系,所以最后一點(diǎn)就忽略了。咱慢慢看前面的四點(diǎn)。
第一點(diǎn)說(shuō)在校期間的實(shí)習(xí)是很重要的。這一點(diǎn)當(dāng)然是對(duì)的,不過(guò)下面的論據(jù)有點(diǎn)問(wèn)題。先看后面的。公司要能干活的人是真的,學(xué)計(jì)算機(jī)搞創(chuàng)新搞研究能拿獎(jiǎng)那也是真的,只是拿的是圖靈獎(jiǎng)不是諾貝爾獎(jiǎng)。這個(gè)諾貝爾獎(jiǎng)有點(diǎn)問(wèn)題啊,沒(méi)有數(shù)學(xué)沒(méi)有計(jì)算機(jī)(他老人家死得太早了,原諒他),所以數(shù)學(xué)和計(jì)算機(jī)就自立門(mén)戶(hù)了。
在校實(shí)習(xí)可以賺工作經(jīng)驗(yàn)。為什么這么講呢?(華南理工大學(xué)的師弟師妹在2009年的時(shí)候告訴我們,金山公司給實(shí)習(xí),做的東西不會(huì)拿去賣(mài)的,你們做完就完了。道聽(tīng)途說(shuō),謝絕跨省。)一般大公司都會(huì)給你真刀真槍的東西。寫(xiě)的代碼會(huì)被最終用戶(hù)運(yùn)行,修bug的結(jié)果也是被最終用戶(hù)運(yùn)行的。到時(shí)候會(huì)有一大堆人指導(dǎo)你該怎么做的,因?yàn)槿绻銓?xiě)的代碼太爛他們也不好意思把你的代碼拿去用是不是。
但是說(shuō)學(xué)校教的東西與社會(huì)脫節(jié)就不好了。要我是校長(zhǎng)肯定會(huì)拍案而起:“你們把學(xué)校當(dāng)成什么東西了,Java速成班?”學(xué)校教的很多東西都是基礎(chǔ)知識(shí),根據(jù)《Teach yourself programming in 10 years(想看的自己去google)》,4年是遠(yuǎn)遠(yuǎn)不夠成為一名優(yōu)秀的程序員的。我們的確需要花大量的時(shí)間在基礎(chǔ)課上面,譬如說(shuō)掌握一兩門(mén)語(yǔ)言和一點(diǎn)API讓你們可以做出真正有用的東西啦,數(shù)據(jù)結(jié)構(gòu),網(wǎng)絡(luò),數(shù)據(jù)庫(kù),編譯原理,操作系統(tǒng)原理,等等等等。但現(xiàn)在的事實(shí)是很多高三的學(xué)生們?cè)谔钪驹傅臅r(shí)候還不知道自己學(xué)了計(jì)算機(jī)就會(huì)上了賊船,所以大量的人是大一的人才開(kāi)始寫(xiě)代碼的。4年當(dāng)然不夠了,所以在學(xué)習(xí)基礎(chǔ)課的時(shí)候,我們還需要自己給自己出點(diǎn)難題,寫(xiě)點(diǎn)代碼。在我看來(lái),
學(xué)校只需要保證一個(gè)幾乎把自己所有的時(shí)間投入到代碼中去的人能夠找到合理的工作就好了。誰(shuí)讓他花那么多時(shí)間玩游戲的(其實(shí)我也喜歡玩,但我不會(huì)沒(méi)日沒(méi)夜的,寫(xiě)完代碼才會(huì)玩的),那將來(lái)結(jié)果不盡人意只能怪自己了。
需要注意一點(diǎn)的是,上面那句話(huà)最后幾個(gè)字是“合理的工作”而不是“理想的工作”。為什么呢?這跟你學(xué)了什么東西是很有關(guān)系的。找到理想的工作還要有一個(gè)前提,跟學(xué)校無(wú)關(guān)的,就是你要挖掘出自己的興趣所在。你往那方面不短拼命練習(xí),就可以保證你可以只找你喜歡的工作,找到了當(dāng)然是理想的了。如果你并不是特別喜歡寫(xiě)代碼,但是也成為了一名不錯(cuò)的程序員的話(huà),那只能說(shuō)是合理了。好工作,但你不喜歡罷了。
先總結(jié)一下,學(xué)校教基礎(chǔ),實(shí)用的自己去學(xué)。至于那些理論課有什么用,
當(dāng)你一個(gè)工程的代碼寫(xiě)到了好幾萬(wàn)行而且里面絕大多數(shù)都不是用來(lái)處理UI和SQL的時(shí)候,你就能開(kāi)始理解了。
第二點(diǎn),思想周密謹(jǐn)慎。文章下面只有一句話(huà),其實(shí)說(shuō)是說(shuō)對(duì)了,只是泛泛而談也不能當(dāng)指南來(lái)看。當(dāng)然我并不是在批評(píng)作者,說(shuō)不定人家本來(lái)就不想寫(xiě)指南,只是“讀者有心”罷了。
思想為什么要周密謹(jǐn)慎,因?yàn)橛?jì)算機(jī)語(yǔ)言太低級(jí),我們不得不去處理大量的其實(shí)跟我們要解決的問(wèn)題沒(méi)什么關(guān)系的細(xì)節(jié)。為了很好的掌控這些東西,就要學(xué)習(xí)學(xué)校教給你們的那些所謂與社會(huì)脫節(jié)的基礎(chǔ)課啦。就跟學(xué)數(shù)學(xué)一樣,就算你將來(lái)真的不用考計(jì)算微積分來(lái)吃飯,但好歹學(xué)那個(gè)東西還是提高了你的智商的。如果你有幸真的需要考那些基礎(chǔ)課來(lái)混飯吃的話(huà),那你就更會(huì)體會(huì)到它們的重要性了……說(shuō)白了還是那句話(huà),實(shí)踐出真知啊。趁著還在讀書(shū)的時(shí)候趕緊寫(xiě)代碼,等到將來(lái)被HR鄙視就晚了。
第三點(diǎn),不要因?yàn)榇a簡(jiǎn)單就不想寫(xiě)。文中的一個(gè)觀點(diǎn)就是,同一個(gè)東西,你寫(xiě)的次數(shù)越多,你解決它的方法就越美妙。這就是為什么我們要不斷地重寫(xiě)重構(gòu)的原因了,代碼速度越快,
并且越容易維護(hù)的話(huà),將來(lái)遇到需求變更你就不用覺(jué)得自己快死了一樣。 第四點(diǎn)就不評(píng)論了。記得在Channel9看一個(gè)叫eric的老頭講解haskell的時(shí)候,他不停的說(shuō)要“Put your love in your code.”要有愛(ài)。為了能讓自己的愛(ài)發(fā)揮作用,當(dāng)然首先要讓自己寫(xiě)出漂亮的代碼了。
總結(jié):不要抱怨學(xué)校,高考志愿是你自己填的。總的來(lái)說(shuō)文章的大道理還是對(duì)的,就是論據(jù)稍微有點(diǎn)什么,總之自己看著辦吧。
posted on 2010-01-31 03:44
陳梓瀚(vczh) 閱讀(5236)
評(píng)論(10) 編輯 收藏 引用 所屬分類(lèi):
啟示