冒號和他的學(xué)生們
——程序員提高班紀(jì)事
- 開班發(fā)言
授人以魚不如授人以漁 ——古語
冒號開了個程序員提高班,今天迎來了首期學(xué)員,他們是問號、句號、逗號、引號和嘆號,皆為IT業(yè)的新兵。望著臺下洋溢著青春與渴望的臉龐,冒號開始了他的開班發(fā)言——
大家好!先自我介紹一下,本人姓冒名號字解之。諸位不必叫我老師,就叫老冒好了。比在座各位癡長幾歲,“老”是擔(dān)得的,“師”卻不敢妄言。在下編程多年,自覺小有所成,不敢專藏,特開此班與眾共享。雖系一家之言、一孔之見,若能拋磚引玉,又何懼方家之哂?疏謬之處,還望海涵斧正,不致自誤誤人。
客套已畢,言歸正傳。本班主要采取討論的形式,只要是軟件開發(fā)中值得討論的,但凡本人力之所及,均可共同探討。
本班的宗旨是:學(xué)會不如會學(xué),會學(xué)不如會用,會用不如被用。對于一個軟件開發(fā)者來說,這意味著四個階段:
學(xué)會——掌握一些具體編程知識的初級程序員
會學(xué)——能快速而深刻地理解技術(shù)并舉一反三的程序員
會用——能將所學(xué)靈活運用到實際編程設(shè)計之中的高級程序員
被用——能設(shè)計出廣為人用的應(yīng)用程序(application)、庫(library)、工具包(toolkit)、框架(framework)等的系統(tǒng)分析員和架構(gòu)師
至于被用的更高層次,如發(fā)明出主流的設(shè)計模式、算法、語言乃至理論等,則可稱得上計算機專家了。本班的目的,正是為各位向更高階段的提升助一臂之力。
大家可能都習(xí)慣了在小學(xué)、中學(xué)和大學(xué)里的課堂,那里的知識大多是系統(tǒng)而完備且貌似終極的,那里的學(xué)習(xí)大多是單向而被動的。但習(xí)慣并不意味著享受,更多的是因為別無選擇。你們曾被引入一座座知識殿堂,被告知它們?nèi)绾蚊垒喢缞J、巧奪天工,盡管很多時候你們或不以為然、或不解其妙,但還是不得不記下每一處被指點的細微結(jié)構(gòu)。很少有人帶你們看看當(dāng)初為建造這些殿堂而打下的地基、搭設(shè)的腳手架,哪怕只是上漆前的模樣也好,更遑論一瞻數(shù)易其稿的設(shè)計圖紙了。那些與殿堂相比顯得有些原始、甚至丑陋的東西,被有意無意地擋在視線之外。可沒有那些,你們將來如何為這些宮殿添磚加瓦,又如何另起樓閣呢?
中國學(xué)生恐怕是世界上最擅長考試、最習(xí)慣考試、也最厭倦考試的群體了。你們告別了學(xué)生生涯,踏上了職業(yè)之旅。首先我要恭喜你們,脫離苦海了!同時也要悲告你們,掉進火坑了!危言聳聽嗎?如果你選擇了做程序員,你時時都得學(xué)習(xí),沒有手把手教你的老師,沒有指定的教科書和參考書,有的是層出不窮令人眼花繚亂的新概念、新技術(shù)、新問題,好不容易學(xué)到一些皮毛,有的已成明日黃花。你時時都得考試,每提交一段代碼就是上交一份答卷,你不知道什么時候、什么人會批改,直到——開發(fā)組同事發(fā)現(xiàn)你的代碼難以看懂,系統(tǒng)分析員指出你的程序不符合規(guī)范,測試工程師檢驗到你的軟件有bug,客戶抱怨你的產(chǎn)品太慢太難用,最后老板倒是告訴你一個好消息:明天起放長假!
其實,又有哪行哪業(yè)的人不需要學(xué)習(xí)和考試呢?IT業(yè)只是相對更激烈更富挑戰(zhàn)性而已。在這個瞬息萬變、適者生存的時代,如果還沿用封閉、被動的學(xué)習(xí)方式,恐有淘汰之虞。有鑒于此,本班的風(fēng)格與你們習(xí)慣的課堂有所不同:這里的知識不一定是系統(tǒng)或完備的,但一定是生動鮮活的。如果知識是水,我們要挖掘最先涌動的那顆泉眼;如果知識是火,我們要捕捉起初點燃的那顆火花。這里的問題不一定是預(yù)設(shè)的,結(jié)論不一定是終極的,甚至不一定是正確的,但一定是有的放矢、發(fā)人深思的。由此決定了這里的學(xué)習(xí)方式將是開放多元、雙向互動的。
廣告完畢,現(xiàn)在把話語權(quán)交給你們,大家自由發(fā)問吧。