W
webwalker
Unregistered / Unconfirmed
GUEST, unregistred user!
--------------------------------------------------------------------------------
一月之跡
— 同濟、南大授課記事與生活雜感 —
侯捷
北京《程序員》2005/10
台北《Run!PC》2005/11
侯捷註:網站上另有一篇同名文章,
是一篇流水記事日誌,附許多像片。
--------------------------------------------------------------------------------
仿彿白駒過隙,《程序員》雜誌一轉眼要過第五個周年慶了,五年前著手撰寫兩篇 "大書評" 的景象及讀者熱烈的回應猶歷歷在目!我對這個自從創刊號以來便參與澆灌,如今發展成為中國面向程序員第一品牌的技術性刊物,關心從來沒有少過。欣逢五周年慶,社裡向我邀稿,剛好七月份我在內地兩所大學各開了一個課程,遂以此為引,多方向談談我所關心的一些話題。內容東拉西扯天馬行空,除了技術和學術話題外還有不少見聞和感觸,在下有僭了。
緣起
去年十月在上海和南京,因著一次演講和一次餐會,結識同濟、南大兩校軟件學院的老師,並獲口頭邀請來年到校為學生開課。原以為這多半是社交場合的客氣,雖感榮幸並有意願,卻也未放在心上。回臺灣後兩校老師續有書信往返,經過多次磋商並承蒙大力配合,遂敲定以三周時間每周三天每天三時共27小時,在南大軟件學院開GP(Generic Programming,泛型編程)課程,在同濟軟件學院開DP(Design Patterns,設計模式)課程。兩岸學術交流日殷,目前較多的是高校管理層及教授間的參訪或會議,授課(尤其是科技課程)比較少。此行我是以私人身份講學,並非公家活動。
我與大陸學子接觸有年,自1999起每年都有演講或讀者見面會之類的活動,也曾在瀋陽東軟、珠海金山、上海華邦等多家公司的培訓活動中給過不少課程,和讀者的emails往返更是頻繁難計。早就希望能夠更長時間更近距離接觸並觀察大陸年輕人,尤其是大學生。去年12月應臺灣微軟公司之邀在10所大學進行「程序人生」演講時,也曾對聽眾談起大陸見聞。臺灣大學生感受到大陸經濟的崛起、國際地位的提升、知識競爭力的爆發,對大陸同輩同行的種種話題十分感到興趣。有一位新竹清華大學的研究生還問我「對岸大學生好像都不知累不知難,勇往直前很拚命!」呵呵,沒有調查沒有發言權,那麼我就一方面來此開課做教育工作,一方面進行深度調研。這個複合型任務使我此行心情格外地興奮與期待。大陸年輕朋友必然也對臺灣相同世代感到興趣,文中我也會適時提出臺灣的狀況。當然啦,一目所見不能代表此岸十二億人口或彼岸二千三百萬人,本文所寫只是我個人所見與一己之思,謹供參考。
正規學分課
這次課程安排在七月進行。來此之前我一直有著疑惑:大陸高校難道不放暑假?來後才知有所謂小學期(或稱暑假學期),這似乎是全國軟件學院的特色。軟件學院的目標是培養與業界直接啣接的軟件人才,課程的設計和學生素質的培養因此也就必須貼近業界的潮流和需要,為此軟件學院每一位大四生都必須在業界實習一年(這一年也可以回校修學分,但那將因為交通而格外辛苦)。由於最後一年幾乎全部在外,導致前三年課程安排非常緊張,各軟件學院便利用部分暑假時間(通常是頭一個月)繼續開課,是謂小學期。選擇暑期的另一個因素是,如果從海外大學或業界沿聘外師來講課,似乎也只有這個時段可資彈性運用。
我曾仔細詢問軟件學院的課程分佈,得知專業課幾乎集中在大三,因為四年級得外出實習,而一二年級專業課不多,主要是英文、數學、政治三門。政治課我們就不說了,國情不同各有所好,這個版面也不適合談。數學課聽說很多很重,這使我想起老有讀者詢問「數學不好能不能學好編程」的老問題,拿最近一封信做代表:
候老師,您好!我是一個學生,我正在學習編程語言。我知道學習編程要很好的數學功底,但是我的數學並不好。現在我想看些數學方面的書,請教您對於編程來講我應該學習數學裡哪些方面的知識呢?非常感謝。
我這麼回答:
學習編程並不一定需要太多數學功底。甚至很多時候都是不需要數學的。比較需要的是邏輯概念和縝密的思路,以及強烈的興趣。編寫程序過程中多半只是把別人的數學成果拿來用(以算法形式),這是很容易的一件事。只有在特殊應用領域才需要自行發展數學模型。
補充一點:一如這封來信,大陸讀者的emails一半以上把我的姓寫成 '候',但我想大家應該知道的,百家姓中沒這個姓。朋友說也許因為輸入法的緣故,可大家寫完信難道不檢查不再看一遍嗎?臺灣的校園BBS和網絡論壇(尤其面向年輕人者)上的文字也是錯別字連連,臺灣讀者對我的姓氏也曾屢屢錯寫,不過自從出了幾位侯姓名人包括大導演、大警探、美女主播…,就少有人寫錯了J
言歸正傳。原本我以為,實習制度雖好,四年的課程緊縮在三年上完(大四回校上課的困難度頗大),會不會揠苗助長?繼而一想自己的大四生活又做了些什麼有意義的事呢?除了打球玩樂談朋友,為賦新詞強說愁,似乎再想不起其他。我這還是在讀書風氣很好的大學,其他人又如何?轉念之間倒欣賞起這個安排來。只不過課程安排實在緊密,同學們倍加辛苦。我聽到的一個小學期課程案例是老師連教四天課,每天八小時,第五天考試後say goodbye!這樣的安排,很值得系上事後多多了解學生的吸收情況。
臺灣高校對學分的一般認定標準是:學期內每周上n小時的課就是n學分,實驗課除外。這次開的兩門課同為27小時,於甲校是3學分而於乙校是2學分,這差別讓我比較驚訝。臺灣高校每上課50分鐘休息10分鐘(休不休息由老師決定),大陸的 "學時" 則是45分鐘。不同的學校對於客座聘任細節也差異相當大,這原是各校行政權的行使,有差異並不奇特,奇特的是差異程度之大。這和我多年來對大陸地方建設的理解所獲得的「充份自治」印象一致 —— 據聞各地首長有很大權力對土地做很彈性的運用,為了招商往往大筆一劃就把幾百畝甚至幾百頃的土地劃給公司蓋廠房、劃給大學做校地。高度彈性好的一面當然帶來高魄力和高效率,但弊端也就高度難防。土地運用(地目更改)在臺灣是非常謹慎或說非常手續煩雜的,層層關卡主要為了防範主事者圖利他人(間接圖利了自己)。
兩門課的促成,最令我印象深刻的是大陸青年的積極性。剛才說過是因著一次演講和一次餐會牽的線,而前前後後我才逐漸了解,這些活動都是學生主動促成的。學生清楚自己想要什麼,並且認真而主動地去要!臺灣大學生最多主動聯絡演講、表演等等,說到對課程甚至師資有所想法並行動,那是聞所未聞。我多次在不同場合遇到同學說「真希望您能來我校教書」時總報以微笑,終不能要我自個兒提個皮箱上門拜見求課吧!南大和同濟尊重學生在課程和師資上的求索,也使我感佩。
回頭說說小學期和軟件學院。臺灣各大學並沒有所謂小學期,只有暑修班,專為學生開設於暑假重修不及格學分。臺灣各大學也沒有軟件學院,倒是不少大學成立了電資學院,成為近年來理工學生心儀的大熱門。電資指的是電子電機與資訊(信息),資訊相關科系有資訊工程、資訊科學、資訊管理(另有資訊傳播,但通常不被歸類進來)。資工和資科是多年前教學資源分配(或說爭奪)下的產物,幾乎無人說得清兩系差別。今年新竹交通大學已將資工和資科合併為一個系,真真應驗「分久必合合久必分」的老話。
補充一點,臺灣的一線大學——約當於大陸所說的重點大學——公認是臺灣大學(台北)、清華大學(新竹)、交通大學(新竹)、成功大學(台南),各擅勝場。臺灣有所謂「三五族」戲稱,不是指三五族化合物半導體(Ⅲ-Ⅴcompound semiconductor),而是指台、清、交三所大學的電機、電子、資工、電信、機械研究所五個族群。這個族群是科技大廠積極獵人的對象,頂著這個光環在先天條件上就有更大空間選擇股價高、福利優、前景好的公司。另一個所謂「三五族」也和IT有關,但比較悲慘,指的是為了工作由大台北地區南遷至新竹科學園區(離台北市100公里)附近租個簡單住所的上班族,他們僅在每週三、五北上返家陪伴家人。新竹科學園區是1980底設立的台灣第一個科學園區,是臺灣高科技產業發展基地,至2003年止共設立370家高科技公司,大部分是半導體、電腦、通訊、光電等電子產業。
學生表現
我對兩岸大學生都開了課,一定很多人好奇兩岸學生的表現。怎麼說呢,對臺灣學生我掌握得多些,畢竟相處次數和時間都多。對大陸學生就只三星期相聚,樣本數還不夠。不過我還是勉力做點整理。
很多臺灣民眾的認知裡,大陸年輕人很敢問很能問,甚或咄咄逼人。這種印象的形成可能和大陸影迷歌迷對歌手影星的態度有關,或來自文章報導。我這次接觸的學生都是一流學生,很能問也積極問,但並不常在課上問,和臺灣學生一樣比較習慣課下問、課後問。其實技術性的東西除非你上課前有過一番紮實預習,是提不出問題的。與其張飛岳飛馮京馬涼亂問一通,不如回去細細咀嚼後把想法整理一遍再email給我討論。一方面學生必在過程中有更全面的思考,一方面我也有較充裕的時間理解學生的問題,不致隨著未成熟的想法亂轉(關於設計上的問題,多半不只是問how,而且是問why,還真需要點時間整理回答)。三周內提問很多,我未能每封信都回覆,比較遺憾。
臺灣大學生的提問量相較之下少多了。有個玩笑話說臺灣學生有三不原則:不舉手、不發問、不要問我。大學生不發問的原因之一是沒預習 — 眾所周知發問不是件簡單事。另一個原因出在國小國中高中(人格和心理養成階段)的老師身上:在西方不管學生的問題多矬多蠢,多半總迎來老師一句「這個問題很好」的讚美,而東方教育本質上就與鼓勵式教學很有距離,學生在課堂上就得擔心問題不夠深度時被老師「愛之深責之切」。年輕人最是需要鼓勵,這種情況下久而久之誰有發問的興趣和膽量呢?
兩岸的教育體系和教學思維都是東方式的嚴肅與傳統,大陸恐怕尤有甚之。什麼因素使大陸學生願意問又敢問?我想一個是先天的個性和膽量,一個是後天對出人頭地的渴望。如今談論省籍很敏感,像捅馬蜂窩,但我還是願意把我的想法說一說;就是大江南北邊關塞外各地人等也不免有個胖瘦短長,何況隔了條200公里黑水溝的兩岸!省籍(或說地域)就像星座、血型一樣,是胎裡帶,它與個性的連帶關係是統計學,頗有依據的,其實沒什麼好避諱。臺灣本籍的個性比較內斂拘謹注意小節,內地省籍的個性比較外向張放膽子大。天不怕地不怕還怕問個小問題嘛?! 這種「張放」個性不單表現在課堂上,也表現在生活各處。至於對出人頭地的渴望,那是不消說了,十二億人口復又每年四百萬大學新生,不積極求知求表現,如何頭角崢嶸?
大陸青年不畏艱辛的求知熱情,充份表現在遠道聽課這件事上。在臺灣,400公里是很遠的距離,臺灣頭跑到臺灣尾不過如此,而在大陸400公里只是大城市之間的零頭。上海嘉定的DP課程的旁聽生包括北京來的研究生、在外實習的高年級生、他系博碩士生,南京浦口的GP課程則有本校外校學生每天花兩小時以上搭公交車來聽(再花大約相同時間回去)。下面是一封來信:
南理工在南京市的東南郊,而南大軟件學院在南京市的西北郊,上午趕過去一般要2個小時公車,還未考慮大橋堵車情況。所以我和另三位同學都是6:30起床趕過來。不過這些日子課程下來,大家都覺得聽候老師的GP課程還是非常有幫助的(自己看的話則要費神很多)。雖然累,但很值!
我在元智的課程每學期也總有一些來自台北、新竹以及中壢本地的學生或工程師來旁聽(台北和新竹相距100公里,中壢位於兩地中間),但不能想像任何人的任何課開在台北會有高雄學生來聽(高雄是南臺灣大城市)。侯捷不是虐待狂,並不是要同學們六百里加急,紅塵一騎妃子笑才表現出求知的熱情和渴望。我只是要表達,大陸青年這種遠道求知的情況不只一例,有從哈爾濱到瀋陽為聽一場演講,也有從福州到上海為見一面,都令我感動復感慨。
感慨什麼呢?這讓我想起如今很多只想留在台北上大學上研究所的台北青年!這些年輕人的說法是台北資源比較多、機會比較多。當然啦台北擁有臺灣最知名的大學,你若考上那也沒話講。然而在還沒考之前就抱這種心態是不對的。互聯網如此發達、電子商務如此發達的臺灣,不論身在哪個城市,什麼資料網上找不到?什麼書籍網上買不到?那種心態在我看來是貪圖安逸,就是想待在家裡,待在父母呵護下,待在茶來伸手飯來開口、可呼朋可引伴可逛街可 shopping 的環境裡,不想出遠門也不想面對陌生環境和陌生人。恨鐵不成鋼啊!
說說大陸青年的提問態度。多數學生都能保持應有的禮貌,然而總能遇上那麼一兩位讓人不舒服(我說 "總" 是包括過去以來的大陸來函)。那種口氣或態度絕不會出現在臺灣大學生身上。我知道他們其實並沒有惡意,但那樣的表達就是不禮貌!肯定會有人說侯捷你應該學習尊重不同的生活習慣和說話方式,這話是對的,我並不是硬梆梆無轉圜的人,我說 "不舒服" 已是委婉。禮貌是文化的體現,出了問題真的需要正視。
考試
上了課就必須考試。這事不但學生頭疼,我也犯難。編程課的考試理當以編程行之,但在來去匆匆的短課程上,操作有困難。在臺灣我總是出一個期末作業,學生分組完成、繳交程序代碼和書面報告並上台簡報。由於操作上的困難,七月份這兩堂課最終我出的是填充題:DP考試讓學生填UML圖的一些關鍵的interface, class, method和pseudo code,GP考試則是讓學生填寫某些個正確程序的關鍵代碼。有位臺灣讀者看了網站上的「一月之跡」後寫了封建議信給我:
文章提到programming課程的考試方式。恰巧最近和一位留學加拿大的朋友聊天, 他讀的是computer science,老師曾經逼迫他們寫出OS和Router程式,所以練就一身好本領。我問他學校的考試方式,他以OS課程為例,課程初期老師給他們一個非常陽春的OS程式,隨著課程的進行,學生逐漸得在程式中加入新功能。等到學期結束,老師要求學生把各自的OS程式交出來作為學期成績的依據。我覺得這樣的考試方式真是不錯,保證讓學生永生難忘。我也決定在下學期的遊戲程式設計課程中採用這樣的考試方式。當課程結束,學生就會擁有一套自己所開發的遊戲程式,畢業後到遊戲公司面試時,這套遊戲程式就可派上用場。
建議
課程結束後,學生希望我給學院同學一些感想和建議。感想還不至於啦,就只是一次課程,一次短暫的接觸!建議是有的,一個人的起點並不重要,終點比較重要。兩校都是知名大學,同學們身上其實已經烙上了名牌,已經是很好的起點,當然比計算機系在當初分數線上是落後一點的,要說比起北大清華在社會名聲上也許也還被主觀認定地落後了那麼一點點,但這都不重要。重要的是,各重點大學各計算機系和軟件工程系,大家都已經在同一個級別上了,進社會後公司取才及自我發展,關鍵都在自己的實力。態度決定一切,積極進取必有所成。走到了理工這一途,業界要的是專才,不是泛泛之才,所以進入高年級或研究所之後,學習一定要深入,弱水三千取一瓢飲。初入職場前數年,首先要以成長為選擇考量,不要東跳槽西跳槽,只為五百元就跳槽。當知滾石不生苔,轉業不聚財。一個人的成功(受人尊敬的那種專業型成功),一定是把許多許多精力投注在單一主題上日日夜夜拚搏才有的成果。世界上多的是這樣的典範,大家宜多思考並檢討自己,見賢見齊,見不賢而內自省。
城市見聞
早已耳聞上海夏日如火爐,南京更甚之。這次課程定於七月,於是向一位七月份到過江南的臺灣朋友詢問預習之道,他說你在臺灣六七月份開暖氣差可比擬。他的話把我嚇壞了,這可沒法模擬,會死人的。
無論如何我有了心理準備。到達上海的第一天攝氏37度,確實夠嗆。第二天38度,第三天抵達南京時火車上標示車箱外溫度40度。由於我在臺灣夏天向來穿長袖薄襯衫(忍功也算一流),現下換穿短袖T恤,再加上濕度不高,人倒也不怎麼太難受。上海南京的朋友都說當地是濕熱濕冷,但對受過臺灣長年100%濕度折騰的我來說,這種濕度相對算「乾」。
嘉定離上海太遠,課後我都待在宿舍或研究室。南京的住宿酒店就在最熱鬧的鼓樓區,所以我會利用傍晚時間附近走走,某天下午甚至去了玄武湖。這麼些天走走看看下來也就有了一些見聞和感觸。不單南京,我到過的城市還有上海、蘇州、武漢、北京、承德、瀋陽、大連、珠海、平遙,下面說的是總體印象。
我常用幾個簡單的量測器來衡量一個國家的文明程度:(1) 禁煙場所是否普及 (2) 車輛是否禮讓行人並少按喇叭 (3) 公共場所是否安靜 (4) 張揚跋扈自以為有錢或有權的人的出現頻率是否很高 (5) 第一線公務人員的態度是否和善有禮。
讓人痛心的是,我去過的中國各大城市,上述每一項指標都不合格。我並不拿這些尺度來衡量鄉下農村,倉廩足而後知禮節嘛。但北京、上海、南京...這些大都市都已經倉廩足了,民眾平均素養卻沒有跟上來。「大學之為大學,不在於雄偉建築和豐富的硬體設施,而在於有沒有大師」,同樣道理,一個國家之所以受到尊敬,不會是因為經濟巨幅起飛或成為世界工廠,或擁有世界最多的常備軍,而在於人民有沒有現代文明素養。什麼是現代文明素養?上面那與日常生活息息相關的五項頗可為代表。我對當今中國社會在精神現代化方面的表現,從五年前到現在一直處於失望狀態中。這些年中國人賺錢了,買車了,買房了,小康了,小資了,其他呢?經濟以外的「其他」距離安定社會的中產階級還有一大段距離。「中產階級」的一個定義來自人均收入,另一個定義是 "well-educated";在那些出現頻率很高的張牙舞爪的自我感覺良好的「成功人士」身上,不論他們的學歷是什麼,我都沒看到 "well-education"。
內地許多富人(也許還只是小富)表現出「窮極翻身,就怕被人看不起」的心態,有著極度自卑而導致的自大以及行為扭曲。我多次在公眾場合看過他們的姿態。下面這則廣被流傳的手機短訊真切描述了這種心態:「等我有錢了,吃早餐買豆漿要買就買兩碗,我喝一碗倒一碗;等我有錢了,買油條要買就買兩根,我吃一根扔一根;等我有錢了,買碟片要買就買兩張,一張正版一張盜版;等我有錢了,談女朋友要談就談兩個,一個做老婆一個做情人;等我有錢了,買襪子要買就買一隻,一個腳穿一個腳不穿。」哎,這個社會普遍有仇富心態,也是其來有自。
就寄望新一代了!即將成長為社會主幹的一代,你們離開學校進入社會後,千萬不要張牙舞爪。買了車要懂得禮讓行人,車子不是什麼了不起的東西,全世界幾千萬億人擁有車子。公共場所不要大聲嚷嚷大聲講手機讓全世界都知道你的雞毛蒜皮。公共場所不要抽煙燻別人,自己到角落去慢性自殺沒人管你。成功了發財了,言行舉止更要內斂,別樹小牆新像暴發戶。沉靜低調遠比張揚跋扈更能顯現高貴氣質。贏得別人尊敬不是靠摸得著的車子、房子、銀子,是靠那摸不著的文化底蘊和氣質。
不能再做畸形發展的花朵
看到自己的國家社會自己的生活環境被嚴厲批評,沒有人開心得起來,我了解諸君心情。但請各位知道,我願意公開說這些不討喜的話,因為我抱著感情,因為我心中有關懷有期待。社會文明的成長過程臺灣民眾並不陌生,開放觀光後的前數年,臺灣旅客到世界各地鬧的笑話也沒少過,近年來才好多了。是的,現代文明素質的養成需要時間需要積累,但更重要的是:民眾的自我警醒。不禮貌就是不禮貌,沒公德心就是沒公德心,絕不可以拿「生活習性不同」做為說詞。
講學期間我收到這樣一封信:
身為大陸學子,我與數以百萬記的同齡人一起經歷了重理輕文、重技能輕人文素養的年代,如今年近而立的我們正是國家軟件業的中流砥柱,但普遍存在的文學和德行上的貧乏又使我們難以提高到一個層次上,這是國家的悲哀。該到敲響警鐘的時候了,我們的下一代決不能重蹈覆轍,不能再去做畸形發展的祖國花朵了。……就我個人而言,自己在軟件技能上還處在膚淺的階段,但鑒于在文化、德行上面更為捉襟見肘的現狀,還是決定把更多的精力花在個人素養的提高上……。時光如梭,十年時間只需一晃就過去了,不知等我到了您現在的年齡時能攀到一個怎樣的高度,……其實並非想要趕上誰,即使到時我還在山腳下,但只要努力就定會有進步、有收獲,這也就足夠了。
研究生的困擾
講學過後沒多久,我收到這樣一封信。謹以此信和我的回覆做為全文結束。
侯老師: 您好!我是大陸□□大學在讀的研究生。本科是學□□□□的。現在讀研究生各種因素促使我轉到寫程序的路上來,雖然轉行中有很多困難,但我一直都很努力,現在對C++, Java乃至OOP的思想都有了初步了解,可以用他們做普通應用程序。也做過一些實際項目。但是我做的主要是一些應用,在開發過程中,要麼就是幾個月都在做一些重複性的既耗時間又沒有任何學習價值的東西(為了導師的項目賺錢),要麼就是做些修修補補的工作,完全沒有考慮代碼質量,算法效率等因素,導師的標準是:程序可以運行就行。我覺得這樣下去不會有太大提高,因為我所作的稍加培訓的任何人都可以做,其實就是體力勞動。我覺得在研究生階段,寫程序方面應該苦練自己的內功,研習一些雖然艱深而且看似無用不能立刻見效但對於整體編程素養、編程思想以及長遠發展大有裨益的東西。
但我不知道這些"內功"是什麼,所以我一直在苦苦尋求,但一直沒有明師指點。雖然我的導師根本不指導我什麼,一年也難得見幾次面,我仍嘗試和導師交流,但是結果只是失望,因為他只關心他的項目賺錢,根本不管學生學習的方向對不對。我只有繼續努力,但總是像無頭的蒼蠅,東抓一把西抓一把。
不知道您能不能理解我的心情,能不能給我指導,給我個方向。我現在在具體語言方面反過頭來仔細學習……並將書中講的道理編寫代碼實現印證。算法方面仔細研究……。您覺得我現在學習的東西有長遠意義嗎?值得潛心去研習嗎?把研究生階段剩下的幾個月主要花在算法和模式上值得嗎?我現在的感覺很好,覺得開始學到些東西,就是不知道這條路是不是正途,能不能對整體編程素養和編程思想起到奠基的作用。
您講「迷時師渡悟了自渡」,我迷茫了這麼久但沒有明師渡我,您可以普度點化我嗎?
下面是我的回覆:
從來信可以感受你是個上進的好青年,自我要求很強。態度決定高度,秉持這樣的求知和工作態度,將來必有自己的一片天空。
你提到的研究生和導師之間的關係,我亦時有所聞,大概是頗為普遍的現象。首先不要焦慮怨懟於這種關係,畢竟這已是事實而且不是你能改變的。要把握的是你能掌握的部分。
> 我覺得在研究生階段,寫程式方面應該苦練自己的內功,研習一些雖然艱深而且看似無用不能立刻見效的但是對于整体的編程素養,編程思想以及長遠的發展大有裨益的東西。
這些觀念都是對的。你應該堅持。
>您覺得我現在學習的東西有長遠的意義嗎值得潛心去研習嗎?把研究生階段剩下的幾個月主要花在算法和模式上值得嗎?
值得。當圖長遠,勿求近利。
>我現在的感覺很好,覺得開始學到些東西,就是不知道這條路是不是正途,能不能對整体的編程素養和編程思想起到奠基的作用。
是正途。拚命追求業界時髦的術語、觀念和工具,那才是偏頗。知識與技術有萬古長空和一朝風月之分,雖然兩者都有必要,但前者更重於後者。如果不能在學校階段紮下結實的基礎,以後更無機會。
你選的書都不錯。侯捷網站上的文章和書評對你或也有幫助。徒學不足以自行,還要努力實踐。然後你會發現時間不夠用,那就再挪一些玩樂和休息的時間來學習。人的學習精華階段就這麼幾年,要堅持,要有毅力。態度決定高度,你很有希望。
--------------------------------------------------------------------------------
■Sent: Monday, October 17, 2005 10:46 AM
侯先生,您好。今日拜讀了程序員雜志上您談論暑期授課想法的文章。
對于現今社會上人們的文明素質我也很有感触。我想這有很多的原因,其中一個是因為我們現在根本就沒有文化的教育,我們有的只是技能的培訓而已。而且,更重要的是我們沒有相關的老師可以教給學生文化。之所以有這种情況,我覺得和文革有很大關系。您可能不太熟悉大陸文革的情形,我听父母和長輩說過很多。在那個時期,大陸的人民徹底的毀掉了我們的文化,价值觀。知識分子成為了最低等的社會階層,中國文化的傳播者和繼承人也就不再存在了。這導致到今天,真正知識分子人數很少,而且仍然不能恢复信心,成為社會文明的脊梁,所以您看到的情形不難理解。
希望您能經常到大陸來為我們的學生傳道、授業、解惑。
祝:全家幸福。
■侯捷回覆:現今存在社會的種種不文明舉止,的確是文革帶來的影響,我也這麼認為。中國現今強大了,所有華人揚眉吐氣。還需要一些時間一些過程彌合 40 年前那場浩劫的後遺。願我們都為中國的精神現代化盡一份心力。像您這樣學養俱佳的青年,復有國外經驗,見過世面,看過發達國家的種種,正是社會的中流砥柱,可以起引導作用。
-- the end
一月之跡
— 同濟、南大授課記事與生活雜感 —
侯捷
北京《程序員》2005/10
台北《Run!PC》2005/11
侯捷註:網站上另有一篇同名文章,
是一篇流水記事日誌,附許多像片。
--------------------------------------------------------------------------------
仿彿白駒過隙,《程序員》雜誌一轉眼要過第五個周年慶了,五年前著手撰寫兩篇 "大書評" 的景象及讀者熱烈的回應猶歷歷在目!我對這個自從創刊號以來便參與澆灌,如今發展成為中國面向程序員第一品牌的技術性刊物,關心從來沒有少過。欣逢五周年慶,社裡向我邀稿,剛好七月份我在內地兩所大學各開了一個課程,遂以此為引,多方向談談我所關心的一些話題。內容東拉西扯天馬行空,除了技術和學術話題外還有不少見聞和感觸,在下有僭了。
緣起
去年十月在上海和南京,因著一次演講和一次餐會,結識同濟、南大兩校軟件學院的老師,並獲口頭邀請來年到校為學生開課。原以為這多半是社交場合的客氣,雖感榮幸並有意願,卻也未放在心上。回臺灣後兩校老師續有書信往返,經過多次磋商並承蒙大力配合,遂敲定以三周時間每周三天每天三時共27小時,在南大軟件學院開GP(Generic Programming,泛型編程)課程,在同濟軟件學院開DP(Design Patterns,設計模式)課程。兩岸學術交流日殷,目前較多的是高校管理層及教授間的參訪或會議,授課(尤其是科技課程)比較少。此行我是以私人身份講學,並非公家活動。
我與大陸學子接觸有年,自1999起每年都有演講或讀者見面會之類的活動,也曾在瀋陽東軟、珠海金山、上海華邦等多家公司的培訓活動中給過不少課程,和讀者的emails往返更是頻繁難計。早就希望能夠更長時間更近距離接觸並觀察大陸年輕人,尤其是大學生。去年12月應臺灣微軟公司之邀在10所大學進行「程序人生」演講時,也曾對聽眾談起大陸見聞。臺灣大學生感受到大陸經濟的崛起、國際地位的提升、知識競爭力的爆發,對大陸同輩同行的種種話題十分感到興趣。有一位新竹清華大學的研究生還問我「對岸大學生好像都不知累不知難,勇往直前很拚命!」呵呵,沒有調查沒有發言權,那麼我就一方面來此開課做教育工作,一方面進行深度調研。這個複合型任務使我此行心情格外地興奮與期待。大陸年輕朋友必然也對臺灣相同世代感到興趣,文中我也會適時提出臺灣的狀況。當然啦,一目所見不能代表此岸十二億人口或彼岸二千三百萬人,本文所寫只是我個人所見與一己之思,謹供參考。
正規學分課
這次課程安排在七月進行。來此之前我一直有著疑惑:大陸高校難道不放暑假?來後才知有所謂小學期(或稱暑假學期),這似乎是全國軟件學院的特色。軟件學院的目標是培養與業界直接啣接的軟件人才,課程的設計和學生素質的培養因此也就必須貼近業界的潮流和需要,為此軟件學院每一位大四生都必須在業界實習一年(這一年也可以回校修學分,但那將因為交通而格外辛苦)。由於最後一年幾乎全部在外,導致前三年課程安排非常緊張,各軟件學院便利用部分暑假時間(通常是頭一個月)繼續開課,是謂小學期。選擇暑期的另一個因素是,如果從海外大學或業界沿聘外師來講課,似乎也只有這個時段可資彈性運用。
我曾仔細詢問軟件學院的課程分佈,得知專業課幾乎集中在大三,因為四年級得外出實習,而一二年級專業課不多,主要是英文、數學、政治三門。政治課我們就不說了,國情不同各有所好,這個版面也不適合談。數學課聽說很多很重,這使我想起老有讀者詢問「數學不好能不能學好編程」的老問題,拿最近一封信做代表:
候老師,您好!我是一個學生,我正在學習編程語言。我知道學習編程要很好的數學功底,但是我的數學並不好。現在我想看些數學方面的書,請教您對於編程來講我應該學習數學裡哪些方面的知識呢?非常感謝。
我這麼回答:
學習編程並不一定需要太多數學功底。甚至很多時候都是不需要數學的。比較需要的是邏輯概念和縝密的思路,以及強烈的興趣。編寫程序過程中多半只是把別人的數學成果拿來用(以算法形式),這是很容易的一件事。只有在特殊應用領域才需要自行發展數學模型。
補充一點:一如這封來信,大陸讀者的emails一半以上把我的姓寫成 '候',但我想大家應該知道的,百家姓中沒這個姓。朋友說也許因為輸入法的緣故,可大家寫完信難道不檢查不再看一遍嗎?臺灣的校園BBS和網絡論壇(尤其面向年輕人者)上的文字也是錯別字連連,臺灣讀者對我的姓氏也曾屢屢錯寫,不過自從出了幾位侯姓名人包括大導演、大警探、美女主播…,就少有人寫錯了J
言歸正傳。原本我以為,實習制度雖好,四年的課程緊縮在三年上完(大四回校上課的困難度頗大),會不會揠苗助長?繼而一想自己的大四生活又做了些什麼有意義的事呢?除了打球玩樂談朋友,為賦新詞強說愁,似乎再想不起其他。我這還是在讀書風氣很好的大學,其他人又如何?轉念之間倒欣賞起這個安排來。只不過課程安排實在緊密,同學們倍加辛苦。我聽到的一個小學期課程案例是老師連教四天課,每天八小時,第五天考試後say goodbye!這樣的安排,很值得系上事後多多了解學生的吸收情況。
臺灣高校對學分的一般認定標準是:學期內每周上n小時的課就是n學分,實驗課除外。這次開的兩門課同為27小時,於甲校是3學分而於乙校是2學分,這差別讓我比較驚訝。臺灣高校每上課50分鐘休息10分鐘(休不休息由老師決定),大陸的 "學時" 則是45分鐘。不同的學校對於客座聘任細節也差異相當大,這原是各校行政權的行使,有差異並不奇特,奇特的是差異程度之大。這和我多年來對大陸地方建設的理解所獲得的「充份自治」印象一致 —— 據聞各地首長有很大權力對土地做很彈性的運用,為了招商往往大筆一劃就把幾百畝甚至幾百頃的土地劃給公司蓋廠房、劃給大學做校地。高度彈性好的一面當然帶來高魄力和高效率,但弊端也就高度難防。土地運用(地目更改)在臺灣是非常謹慎或說非常手續煩雜的,層層關卡主要為了防範主事者圖利他人(間接圖利了自己)。
兩門課的促成,最令我印象深刻的是大陸青年的積極性。剛才說過是因著一次演講和一次餐會牽的線,而前前後後我才逐漸了解,這些活動都是學生主動促成的。學生清楚自己想要什麼,並且認真而主動地去要!臺灣大學生最多主動聯絡演講、表演等等,說到對課程甚至師資有所想法並行動,那是聞所未聞。我多次在不同場合遇到同學說「真希望您能來我校教書」時總報以微笑,終不能要我自個兒提個皮箱上門拜見求課吧!南大和同濟尊重學生在課程和師資上的求索,也使我感佩。
回頭說說小學期和軟件學院。臺灣各大學並沒有所謂小學期,只有暑修班,專為學生開設於暑假重修不及格學分。臺灣各大學也沒有軟件學院,倒是不少大學成立了電資學院,成為近年來理工學生心儀的大熱門。電資指的是電子電機與資訊(信息),資訊相關科系有資訊工程、資訊科學、資訊管理(另有資訊傳播,但通常不被歸類進來)。資工和資科是多年前教學資源分配(或說爭奪)下的產物,幾乎無人說得清兩系差別。今年新竹交通大學已將資工和資科合併為一個系,真真應驗「分久必合合久必分」的老話。
補充一點,臺灣的一線大學——約當於大陸所說的重點大學——公認是臺灣大學(台北)、清華大學(新竹)、交通大學(新竹)、成功大學(台南),各擅勝場。臺灣有所謂「三五族」戲稱,不是指三五族化合物半導體(Ⅲ-Ⅴcompound semiconductor),而是指台、清、交三所大學的電機、電子、資工、電信、機械研究所五個族群。這個族群是科技大廠積極獵人的對象,頂著這個光環在先天條件上就有更大空間選擇股價高、福利優、前景好的公司。另一個所謂「三五族」也和IT有關,但比較悲慘,指的是為了工作由大台北地區南遷至新竹科學園區(離台北市100公里)附近租個簡單住所的上班族,他們僅在每週三、五北上返家陪伴家人。新竹科學園區是1980底設立的台灣第一個科學園區,是臺灣高科技產業發展基地,至2003年止共設立370家高科技公司,大部分是半導體、電腦、通訊、光電等電子產業。
學生表現
我對兩岸大學生都開了課,一定很多人好奇兩岸學生的表現。怎麼說呢,對臺灣學生我掌握得多些,畢竟相處次數和時間都多。對大陸學生就只三星期相聚,樣本數還不夠。不過我還是勉力做點整理。
很多臺灣民眾的認知裡,大陸年輕人很敢問很能問,甚或咄咄逼人。這種印象的形成可能和大陸影迷歌迷對歌手影星的態度有關,或來自文章報導。我這次接觸的學生都是一流學生,很能問也積極問,但並不常在課上問,和臺灣學生一樣比較習慣課下問、課後問。其實技術性的東西除非你上課前有過一番紮實預習,是提不出問題的。與其張飛岳飛馮京馬涼亂問一通,不如回去細細咀嚼後把想法整理一遍再email給我討論。一方面學生必在過程中有更全面的思考,一方面我也有較充裕的時間理解學生的問題,不致隨著未成熟的想法亂轉(關於設計上的問題,多半不只是問how,而且是問why,還真需要點時間整理回答)。三周內提問很多,我未能每封信都回覆,比較遺憾。
臺灣大學生的提問量相較之下少多了。有個玩笑話說臺灣學生有三不原則:不舉手、不發問、不要問我。大學生不發問的原因之一是沒預習 — 眾所周知發問不是件簡單事。另一個原因出在國小國中高中(人格和心理養成階段)的老師身上:在西方不管學生的問題多矬多蠢,多半總迎來老師一句「這個問題很好」的讚美,而東方教育本質上就與鼓勵式教學很有距離,學生在課堂上就得擔心問題不夠深度時被老師「愛之深責之切」。年輕人最是需要鼓勵,這種情況下久而久之誰有發問的興趣和膽量呢?
兩岸的教育體系和教學思維都是東方式的嚴肅與傳統,大陸恐怕尤有甚之。什麼因素使大陸學生願意問又敢問?我想一個是先天的個性和膽量,一個是後天對出人頭地的渴望。如今談論省籍很敏感,像捅馬蜂窩,但我還是願意把我的想法說一說;就是大江南北邊關塞外各地人等也不免有個胖瘦短長,何況隔了條200公里黑水溝的兩岸!省籍(或說地域)就像星座、血型一樣,是胎裡帶,它與個性的連帶關係是統計學,頗有依據的,其實沒什麼好避諱。臺灣本籍的個性比較內斂拘謹注意小節,內地省籍的個性比較外向張放膽子大。天不怕地不怕還怕問個小問題嘛?! 這種「張放」個性不單表現在課堂上,也表現在生活各處。至於對出人頭地的渴望,那是不消說了,十二億人口復又每年四百萬大學新生,不積極求知求表現,如何頭角崢嶸?
大陸青年不畏艱辛的求知熱情,充份表現在遠道聽課這件事上。在臺灣,400公里是很遠的距離,臺灣頭跑到臺灣尾不過如此,而在大陸400公里只是大城市之間的零頭。上海嘉定的DP課程的旁聽生包括北京來的研究生、在外實習的高年級生、他系博碩士生,南京浦口的GP課程則有本校外校學生每天花兩小時以上搭公交車來聽(再花大約相同時間回去)。下面是一封來信:
南理工在南京市的東南郊,而南大軟件學院在南京市的西北郊,上午趕過去一般要2個小時公車,還未考慮大橋堵車情況。所以我和另三位同學都是6:30起床趕過來。不過這些日子課程下來,大家都覺得聽候老師的GP課程還是非常有幫助的(自己看的話則要費神很多)。雖然累,但很值!
我在元智的課程每學期也總有一些來自台北、新竹以及中壢本地的學生或工程師來旁聽(台北和新竹相距100公里,中壢位於兩地中間),但不能想像任何人的任何課開在台北會有高雄學生來聽(高雄是南臺灣大城市)。侯捷不是虐待狂,並不是要同學們六百里加急,紅塵一騎妃子笑才表現出求知的熱情和渴望。我只是要表達,大陸青年這種遠道求知的情況不只一例,有從哈爾濱到瀋陽為聽一場演講,也有從福州到上海為見一面,都令我感動復感慨。
感慨什麼呢?這讓我想起如今很多只想留在台北上大學上研究所的台北青年!這些年輕人的說法是台北資源比較多、機會比較多。當然啦台北擁有臺灣最知名的大學,你若考上那也沒話講。然而在還沒考之前就抱這種心態是不對的。互聯網如此發達、電子商務如此發達的臺灣,不論身在哪個城市,什麼資料網上找不到?什麼書籍網上買不到?那種心態在我看來是貪圖安逸,就是想待在家裡,待在父母呵護下,待在茶來伸手飯來開口、可呼朋可引伴可逛街可 shopping 的環境裡,不想出遠門也不想面對陌生環境和陌生人。恨鐵不成鋼啊!
說說大陸青年的提問態度。多數學生都能保持應有的禮貌,然而總能遇上那麼一兩位讓人不舒服(我說 "總" 是包括過去以來的大陸來函)。那種口氣或態度絕不會出現在臺灣大學生身上。我知道他們其實並沒有惡意,但那樣的表達就是不禮貌!肯定會有人說侯捷你應該學習尊重不同的生活習慣和說話方式,這話是對的,我並不是硬梆梆無轉圜的人,我說 "不舒服" 已是委婉。禮貌是文化的體現,出了問題真的需要正視。
考試
上了課就必須考試。這事不但學生頭疼,我也犯難。編程課的考試理當以編程行之,但在來去匆匆的短課程上,操作有困難。在臺灣我總是出一個期末作業,學生分組完成、繳交程序代碼和書面報告並上台簡報。由於操作上的困難,七月份這兩堂課最終我出的是填充題:DP考試讓學生填UML圖的一些關鍵的interface, class, method和pseudo code,GP考試則是讓學生填寫某些個正確程序的關鍵代碼。有位臺灣讀者看了網站上的「一月之跡」後寫了封建議信給我:
文章提到programming課程的考試方式。恰巧最近和一位留學加拿大的朋友聊天, 他讀的是computer science,老師曾經逼迫他們寫出OS和Router程式,所以練就一身好本領。我問他學校的考試方式,他以OS課程為例,課程初期老師給他們一個非常陽春的OS程式,隨著課程的進行,學生逐漸得在程式中加入新功能。等到學期結束,老師要求學生把各自的OS程式交出來作為學期成績的依據。我覺得這樣的考試方式真是不錯,保證讓學生永生難忘。我也決定在下學期的遊戲程式設計課程中採用這樣的考試方式。當課程結束,學生就會擁有一套自己所開發的遊戲程式,畢業後到遊戲公司面試時,這套遊戲程式就可派上用場。
建議
課程結束後,學生希望我給學院同學一些感想和建議。感想還不至於啦,就只是一次課程,一次短暫的接觸!建議是有的,一個人的起點並不重要,終點比較重要。兩校都是知名大學,同學們身上其實已經烙上了名牌,已經是很好的起點,當然比計算機系在當初分數線上是落後一點的,要說比起北大清華在社會名聲上也許也還被主觀認定地落後了那麼一點點,但這都不重要。重要的是,各重點大學各計算機系和軟件工程系,大家都已經在同一個級別上了,進社會後公司取才及自我發展,關鍵都在自己的實力。態度決定一切,積極進取必有所成。走到了理工這一途,業界要的是專才,不是泛泛之才,所以進入高年級或研究所之後,學習一定要深入,弱水三千取一瓢飲。初入職場前數年,首先要以成長為選擇考量,不要東跳槽西跳槽,只為五百元就跳槽。當知滾石不生苔,轉業不聚財。一個人的成功(受人尊敬的那種專業型成功),一定是把許多許多精力投注在單一主題上日日夜夜拚搏才有的成果。世界上多的是這樣的典範,大家宜多思考並檢討自己,見賢見齊,見不賢而內自省。
城市見聞
早已耳聞上海夏日如火爐,南京更甚之。這次課程定於七月,於是向一位七月份到過江南的臺灣朋友詢問預習之道,他說你在臺灣六七月份開暖氣差可比擬。他的話把我嚇壞了,這可沒法模擬,會死人的。
無論如何我有了心理準備。到達上海的第一天攝氏37度,確實夠嗆。第二天38度,第三天抵達南京時火車上標示車箱外溫度40度。由於我在臺灣夏天向來穿長袖薄襯衫(忍功也算一流),現下換穿短袖T恤,再加上濕度不高,人倒也不怎麼太難受。上海南京的朋友都說當地是濕熱濕冷,但對受過臺灣長年100%濕度折騰的我來說,這種濕度相對算「乾」。
嘉定離上海太遠,課後我都待在宿舍或研究室。南京的住宿酒店就在最熱鬧的鼓樓區,所以我會利用傍晚時間附近走走,某天下午甚至去了玄武湖。這麼些天走走看看下來也就有了一些見聞和感觸。不單南京,我到過的城市還有上海、蘇州、武漢、北京、承德、瀋陽、大連、珠海、平遙,下面說的是總體印象。
我常用幾個簡單的量測器來衡量一個國家的文明程度:(1) 禁煙場所是否普及 (2) 車輛是否禮讓行人並少按喇叭 (3) 公共場所是否安靜 (4) 張揚跋扈自以為有錢或有權的人的出現頻率是否很高 (5) 第一線公務人員的態度是否和善有禮。
讓人痛心的是,我去過的中國各大城市,上述每一項指標都不合格。我並不拿這些尺度來衡量鄉下農村,倉廩足而後知禮節嘛。但北京、上海、南京...這些大都市都已經倉廩足了,民眾平均素養卻沒有跟上來。「大學之為大學,不在於雄偉建築和豐富的硬體設施,而在於有沒有大師」,同樣道理,一個國家之所以受到尊敬,不會是因為經濟巨幅起飛或成為世界工廠,或擁有世界最多的常備軍,而在於人民有沒有現代文明素養。什麼是現代文明素養?上面那與日常生活息息相關的五項頗可為代表。我對當今中國社會在精神現代化方面的表現,從五年前到現在一直處於失望狀態中。這些年中國人賺錢了,買車了,買房了,小康了,小資了,其他呢?經濟以外的「其他」距離安定社會的中產階級還有一大段距離。「中產階級」的一個定義來自人均收入,另一個定義是 "well-educated";在那些出現頻率很高的張牙舞爪的自我感覺良好的「成功人士」身上,不論他們的學歷是什麼,我都沒看到 "well-education"。
內地許多富人(也許還只是小富)表現出「窮極翻身,就怕被人看不起」的心態,有著極度自卑而導致的自大以及行為扭曲。我多次在公眾場合看過他們的姿態。下面這則廣被流傳的手機短訊真切描述了這種心態:「等我有錢了,吃早餐買豆漿要買就買兩碗,我喝一碗倒一碗;等我有錢了,買油條要買就買兩根,我吃一根扔一根;等我有錢了,買碟片要買就買兩張,一張正版一張盜版;等我有錢了,談女朋友要談就談兩個,一個做老婆一個做情人;等我有錢了,買襪子要買就買一隻,一個腳穿一個腳不穿。」哎,這個社會普遍有仇富心態,也是其來有自。
就寄望新一代了!即將成長為社會主幹的一代,你們離開學校進入社會後,千萬不要張牙舞爪。買了車要懂得禮讓行人,車子不是什麼了不起的東西,全世界幾千萬億人擁有車子。公共場所不要大聲嚷嚷大聲講手機讓全世界都知道你的雞毛蒜皮。公共場所不要抽煙燻別人,自己到角落去慢性自殺沒人管你。成功了發財了,言行舉止更要內斂,別樹小牆新像暴發戶。沉靜低調遠比張揚跋扈更能顯現高貴氣質。贏得別人尊敬不是靠摸得著的車子、房子、銀子,是靠那摸不著的文化底蘊和氣質。
不能再做畸形發展的花朵
看到自己的國家社會自己的生活環境被嚴厲批評,沒有人開心得起來,我了解諸君心情。但請各位知道,我願意公開說這些不討喜的話,因為我抱著感情,因為我心中有關懷有期待。社會文明的成長過程臺灣民眾並不陌生,開放觀光後的前數年,臺灣旅客到世界各地鬧的笑話也沒少過,近年來才好多了。是的,現代文明素質的養成需要時間需要積累,但更重要的是:民眾的自我警醒。不禮貌就是不禮貌,沒公德心就是沒公德心,絕不可以拿「生活習性不同」做為說詞。
講學期間我收到這樣一封信:
身為大陸學子,我與數以百萬記的同齡人一起經歷了重理輕文、重技能輕人文素養的年代,如今年近而立的我們正是國家軟件業的中流砥柱,但普遍存在的文學和德行上的貧乏又使我們難以提高到一個層次上,這是國家的悲哀。該到敲響警鐘的時候了,我們的下一代決不能重蹈覆轍,不能再去做畸形發展的祖國花朵了。……就我個人而言,自己在軟件技能上還處在膚淺的階段,但鑒于在文化、德行上面更為捉襟見肘的現狀,還是決定把更多的精力花在個人素養的提高上……。時光如梭,十年時間只需一晃就過去了,不知等我到了您現在的年齡時能攀到一個怎樣的高度,……其實並非想要趕上誰,即使到時我還在山腳下,但只要努力就定會有進步、有收獲,這也就足夠了。
研究生的困擾
講學過後沒多久,我收到這樣一封信。謹以此信和我的回覆做為全文結束。
侯老師: 您好!我是大陸□□大學在讀的研究生。本科是學□□□□的。現在讀研究生各種因素促使我轉到寫程序的路上來,雖然轉行中有很多困難,但我一直都很努力,現在對C++, Java乃至OOP的思想都有了初步了解,可以用他們做普通應用程序。也做過一些實際項目。但是我做的主要是一些應用,在開發過程中,要麼就是幾個月都在做一些重複性的既耗時間又沒有任何學習價值的東西(為了導師的項目賺錢),要麼就是做些修修補補的工作,完全沒有考慮代碼質量,算法效率等因素,導師的標準是:程序可以運行就行。我覺得這樣下去不會有太大提高,因為我所作的稍加培訓的任何人都可以做,其實就是體力勞動。我覺得在研究生階段,寫程序方面應該苦練自己的內功,研習一些雖然艱深而且看似無用不能立刻見效但對於整體編程素養、編程思想以及長遠發展大有裨益的東西。
但我不知道這些"內功"是什麼,所以我一直在苦苦尋求,但一直沒有明師指點。雖然我的導師根本不指導我什麼,一年也難得見幾次面,我仍嘗試和導師交流,但是結果只是失望,因為他只關心他的項目賺錢,根本不管學生學習的方向對不對。我只有繼續努力,但總是像無頭的蒼蠅,東抓一把西抓一把。
不知道您能不能理解我的心情,能不能給我指導,給我個方向。我現在在具體語言方面反過頭來仔細學習……並將書中講的道理編寫代碼實現印證。算法方面仔細研究……。您覺得我現在學習的東西有長遠意義嗎?值得潛心去研習嗎?把研究生階段剩下的幾個月主要花在算法和模式上值得嗎?我現在的感覺很好,覺得開始學到些東西,就是不知道這條路是不是正途,能不能對整體編程素養和編程思想起到奠基的作用。
您講「迷時師渡悟了自渡」,我迷茫了這麼久但沒有明師渡我,您可以普度點化我嗎?
下面是我的回覆:
從來信可以感受你是個上進的好青年,自我要求很強。態度決定高度,秉持這樣的求知和工作態度,將來必有自己的一片天空。
你提到的研究生和導師之間的關係,我亦時有所聞,大概是頗為普遍的現象。首先不要焦慮怨懟於這種關係,畢竟這已是事實而且不是你能改變的。要把握的是你能掌握的部分。
> 我覺得在研究生階段,寫程式方面應該苦練自己的內功,研習一些雖然艱深而且看似無用不能立刻見效的但是對于整体的編程素養,編程思想以及長遠的發展大有裨益的東西。
這些觀念都是對的。你應該堅持。
>您覺得我現在學習的東西有長遠的意義嗎值得潛心去研習嗎?把研究生階段剩下的幾個月主要花在算法和模式上值得嗎?
值得。當圖長遠,勿求近利。
>我現在的感覺很好,覺得開始學到些東西,就是不知道這條路是不是正途,能不能對整体的編程素養和編程思想起到奠基的作用。
是正途。拚命追求業界時髦的術語、觀念和工具,那才是偏頗。知識與技術有萬古長空和一朝風月之分,雖然兩者都有必要,但前者更重於後者。如果不能在學校階段紮下結實的基礎,以後更無機會。
你選的書都不錯。侯捷網站上的文章和書評對你或也有幫助。徒學不足以自行,還要努力實踐。然後你會發現時間不夠用,那就再挪一些玩樂和休息的時間來學習。人的學習精華階段就這麼幾年,要堅持,要有毅力。態度決定高度,你很有希望。
--------------------------------------------------------------------------------
■Sent: Monday, October 17, 2005 10:46 AM
侯先生,您好。今日拜讀了程序員雜志上您談論暑期授課想法的文章。
對于現今社會上人們的文明素質我也很有感触。我想這有很多的原因,其中一個是因為我們現在根本就沒有文化的教育,我們有的只是技能的培訓而已。而且,更重要的是我們沒有相關的老師可以教給學生文化。之所以有這种情況,我覺得和文革有很大關系。您可能不太熟悉大陸文革的情形,我听父母和長輩說過很多。在那個時期,大陸的人民徹底的毀掉了我們的文化,价值觀。知識分子成為了最低等的社會階層,中國文化的傳播者和繼承人也就不再存在了。這導致到今天,真正知識分子人數很少,而且仍然不能恢复信心,成為社會文明的脊梁,所以您看到的情形不難理解。
希望您能經常到大陸來為我們的學生傳道、授業、解惑。
祝:全家幸福。
■侯捷回覆:現今存在社會的種種不文明舉止,的確是文革帶來的影響,我也這麼認為。中國現今強大了,所有華人揚眉吐氣。還需要一些時間一些過程彌合 40 年前那場浩劫的後遺。願我們都為中國的精神現代化盡一份心力。像您這樣學養俱佳的青年,復有國外經驗,見過世面,看過發達國家的種種,正是社會的中流砥柱,可以起引導作用。
-- the end