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