Skip to content

preface

陳鍾誠 edited this page Sep 19, 2022 · 1 revision

我的程式人生 -- 前言

從 1988 年進入交通大學資訊科學系以來,我就知道自己再也離不開電腦,因為我愛上了程式的世界。

為何呢?我不知道,但是我所知道的是,我正在經歷一個前人所未曾經歷的「程式人生」,如果您也是程式愛好者,或許對我的經歷會感到一絲絲的興趣也說不定。

到目前為止,我的程式之旅已經走了 22 年了,在凡事講求速度的資訊時代, 22 年似乎就像一世紀那麼久。我的學生們已經無法體會 22 年前的電腦環境,當我講起當時的情況,他們總是一臉疑惑,1990 年對他們來說,彷彿像清朝末年一樣的遙遠。

源起

我的程式人生是從 DOS 時代開始的 〈還好不是從打孔卡開始的〉,那個時代的程式環境 — 像是 Turbo Pascal、Turbo C、Turbo Assembler、MASM、int 21h、PE2、倚天中文、PCtools、Lotus 123 等等,現在應該都很難找到了,但這些東西卻是身為 5 年級 (60 後) 的程式人共同的回憶。

1992 年我從大學畢業,進入台大資工研究所,開始認識了 Windows 3.0、3.1 這樣的視窗環境,開始會用 Delphi 和 VB 等工具撰寫視窗程式。為了有獨立的經濟來源,經由同學廖先志的介紹,我找到了生平第一份程式設計的工作,在江川科技用 C 語言撰寫 PDA 的程式。

是的,您沒搞錯,1992 年台灣就有公司在研發並生產 PDA 了,當時江川科技得到國家的補助,研發第一代的 PDA,重量大約一公斤多,大小比現在 iPad 還大還重的 PDA,當時蘋果電腦也曾經做過同樣的事情,出了一款稱為 Newton 的 PDA,超級的失敗,沒有賣出過幾台。

接著在 1994 年研究所畢業後,就到軍中服役去了。當兵的兩年期間,可以說是 20 年來我唯一遠離電腦的時候,但是這段期間當中,Web 從一個少數人所使用的小團體,經歷了爆炸性的成長,成為全球經濟與文化的焦點。等到 1996 年我從軍中回來時,那種感覺真是恍如隔世。

當時,我看到 Web、Netscape、Yahoo、蕃薯藤、Perl、CGI、ASP、Java、JavaScript、HTML、CSS、ADSL、Hub、Router 充斥的環境,多得數不完的網站,每個人都在安裝網路,每天網路都會掛點幾次,經常要解決網路不通的問題,安裝網路彷彿是一種專門的職業,因為大家都在問,我的電腦為甚麼連不上網路。

退伍之後

還好,我的第一份工作是在中研院資訊所的許聞廉實驗室擔任研究助理,這是一個很好的學習環境,我可以很快的向同事學到這些技術。中研院資訊所是一個很有趣的地方,每隔三五天就有一場研討會,每個人都在進行研究,想要做出目前世界上沒有人做得出來的程式。當然,這些嘗試幾乎沒有一次能成功,但這並不是壞事,正因為如此,研究之夢才得以繼續走下去。

我在交大的同學們,很多在畢業後就到新竹科學園區工作去了,與他們相比,我選擇中研院作為第一份工作是相當奇怪的。進了中研院之後,雖然我看到很多有趣的東西,但是唯一看不到的就是未來。中研院的研究助理沒有任何升遷管道,這可不是一個久留之地,於是我重回台大資工念博士班,好讓我的研究之夢有點未來性,至少可以拿到一個學位。

到底我在台大和中研院研究些甚麼呢?或許是年少輕狂,我竟然想要挑戰程式的極限,作出一個能夠讀懂人類語言的程式。因此,我挑選了自然語言理解這個領域,而中研院的許聞廉實驗室正是少數專門研究這個領域的單位,這也是為何我進入該實驗室的原因。進入台大之後,我仍然繼續這樣的研究主題,並且沉浸在這個領域好幾年,直到我離開中研院,跑去做另一個春秋大夢為止。

做夢,其實也不是件壞事,不知是誰說過這樣一句話:「人類因有夢想而偉大!」,因為夢想是所有發明背後的原動力。但是研究的夢做久了,就會想要轉換跑道,做點與產業民生有關的事情,於是在同學彭振維 (Willy) 的邀請下,我們展開了另一段旅程,那就是創業。

還好,我在台大與中研院,除了做夢之外,還學習了一些技術,像是 Foxpro、ASP、Java、HTML、CSS、XML 等工具,沒有完全荒廢程式,這些能力進而讓我在創業時有足夠的技術本錢,至少能夠唬住一些產業界人士,不至於被看扁了。

創業

說是創業,卻又像是在作夢。死性不改的我,竟然想要用當時相當先進的 Web 工具,一次改變整個產業,於是我們用了 ASP、JavaScript、XMLHTTP(也就是後來被稱為 AJAX 的那個東西) 等工具,企圖將造紙業的「生產、製造、庫存、銷售、會計」等系統,全部都 Web 化。大約從 1998 年開始,我們就開始撰寫這樣的程式。行銷、接案、設計、Coding、….,但是,畢竟我們不是十年後的 Google,沒有那種能力將整套 Office 全部搬上 Web,最終我們失敗了,而且死得很難看。2000 年 3 月,也就是網路泡沫化,「那斯達克指數」大崩盤的時候,我的這個夢終於醒了,我離開了加旭科技,回到台大繼續念博士班。

在加旭科技創業失敗的經驗,對我來說其實是很寶貴的。雖說是胡搞瞎搞一通,但是對我的人生經歷而言,卻有著難以形容的價值,我開始可以用企業主的角度看事情,對產業有相當程度的敏銳性,而不只是採用技術導向的方式看產業。

現在看來,博士班真的是個好地方,你可以去外面闖蕩幾年,而且都沒有人管你,直到有一天累了、失敗了、又可以繼續回來念博士,彷彿一切都沒有發生過。反正博士班又沒那麼快可以畢業,所有的失敗紀錄都有藉口可以洗掉。

博士班還沒畢業,我又開始按耐不住了,中研院待過了、創業也失敗過了,但是我就是不知道大公司是如何運作的,於是我又開始投履歷,最後進入了位於台北市仁愛路的 Panasonic Taiwan Laboratory (PTL)。於是,在博士班四年級時,我又變成松下集團的兼差員工,只是薪水的計算方式是按小時算的,雖然是時薪制,但是工資還不錯,比在麥當勞打工多了 7-8 倍。

大公司

在松下,我學的 Java 與 XML 又開始派上用場了,PTL 錄取我主要也是看到我在 XML 上的專長,後來我才發現當時 Java 在 PTL 還很少人會,甚至很多人還以為 Java 只是為了在網頁上製作出動畫所使用的,殊不知 Java Applet 早就已經失敗了,但 Java 卻反而成為桌上型電腦應用的開發主力。

進入到 PTL 之後,我開始看到一些奇怪的程式工具,像是 CVS、gcc、Linux、Putty 等等,這些是我從來沒有接觸過的,直到 2003 年之後我才知道,這些大部分都是開放原始碼的系統程式工具。

在松下我還學習到日本人的敬業精神,開始能理解台灣與日本產業之間的關係,以及日本所遭遇到的產業瓶頸。以大公司為主角的日本產業,在網路興起後這個快速變動的時代中,總是無法快速的改變,這讓日本經歷了失落的 20 年,到目前為止還無法看到復甦的可能性。

我在 PTL 的主管,陳惠嫈是一個能力很強的女性,在我剛進入 PTL 之後,他並沒有讓我一下就投入到程式實作上,反而是交給我一項奇特的任務,提出一些松下可能切入且具有未來性的產品,並且向 PTL 的 CEO 安藤先生報告。

我幾乎花了三個月的時間,盡可能的遠離程式,構思這些具有未來性的產品,最後我提出了大約十項的產品構想,其中較重要的幾項如下。

  1. 衛星定位的 GPS 手機,支援交友遊戲的軟體,稱為交友機。
  2. 衛星定位的 GPS 手機,支援戰鬥獵殺遊戲的軟體,稱為獵殺機。
  3. 可連接多網路的手機,在家時會自動透過室內電話撥打,並可插上多個 SIM 卡,出門時會自動以最低費率的 SIM 卡撥打給對方。

但是當我將這些構想提出後,陳惠嫈女士認為我可以向安藤先生提出報告,但是所有的構想都被安藤先生否決了,否決的理由相當的牽強,於是我深刻的體會到一件事情,那就是:「在大公司內的創新,必須先經過重重的關卡與阻礙後,才有極為微小的機會被實施,這種阻礙足以否決任何有創意的構想。因此若要創新,就不能在大公司的體制內進行,而必須在小公司或採用體制外的方式」。

大學教師

當我博士班畢業之後,仍然在 PTL 以兼職身分繼續工作了一年,然後在續聘簽約之前,我決定離開 PTL。我開始尋找大學教職,當時,較好的國立大學釋出的缺額很少,而且競爭激烈。而許多私立學院則是為了改制為大學而拼命的找具有博士學位的人,於是許多私立學院拼命拉我進去,但是最後由於我太太的緣故,我選擇到幾乎沒有人知道的金門技術學院 (KMIT) 任教。現在回頭想想,當時的決定似乎還算不錯。

當時的 KMIT 是全國最小的大學,全校教師只有 50 人,我第一年進來就授命當資管系的主任,從八月報到開始,資管系辦公室就變成了我的研究室。因為當時連一個系助理都沒有,我只能以系主任的身分兼任助理的工作,光是接電話就接到手軟。下課一回到系辦公室電話就響個不停,處理完事情後還要趕去上下一堂課。

一年後,校長借調來一位副教授 — 李錫捷先生,我終於可以放下系主任的行政工作,繼續回到這段程式之旅。

當我回來寫程式之後,才漸漸發現一個問題,大學教師的升等制度當中,程式是不佔有任何地位的,要升等必需要依靠論文。但是有了中研院、加旭科技、PTL 的經驗之後,我已經有了明確的方向 — 我喜歡程式與創作,而不是那種研究型的論文。

後來,在逐漸看清楚台灣學術界的生態之後,我終於下定了決心,堅持走自己的道路 — 「繼續創作程式,不斷的寫網路文章,而不要去管論文與投稿的事情」。因為,我認為台灣學術界已經向下沉淪了,學術的多樣性早已被破壞殆盡,只剩下論文一種指標。大學與教師受到教育部評鑑與升等政策的影響,淪為期刊出版商的牟利工具。大學、期刊出版商與教育部形成了三位一體的結構,讓大學教師為了升等而寫論文,而不是為了喜歡研究而寫論文,這讓大學離卓越更加遙遠。

怎麼說呢?

台灣的大學教育體系早已形成一的種文化,習慣以 SCI/EI/SSCI 等指標衡量期刊與論文的好壞。在期刊市場上,Elsiveir 、IEEE、ACM 等大型期刊出版商,早在 50 年前就開始掌握紙本期刊的發行市場,因而擁有了大部分點數高的 SCI/EI/SSCI 期刊,他們手上的期刊資料庫是相當有價值的資產,因此當然樂見更多學者將論文投到這些期刊當中。而台灣的教育部則掌握了升等與評鑑兩項利器,要求大學與教授們要努力的寫論文、投期刊,於是形成一個增強性循環,讓期刊產業更牢牢的掌握在這些大型出版商的手中。

更慌繆的是,學者投稿期刊的時候,通常還必須要將商業權利轉讓給期刊出版商,於是產生自己寫的論文不能自己出版,還要向出版商購買授權的奇怪現象。

歸根究底,其實還是大學教師沒有足夠的勇氣,放棄教育部所認可的升等,大學也沒有足夠的魄力,不去理睬教育部的評鑑,因而讓這個循環牢不可破。

還好,在我的心中,青春期的叛逆心態似乎一直都還存在。當我看到這樣的現象之後,我想:「那太棒了!」,這個三位一體的結構讓大學教師不斷的去寫論文、投期刊,那麼學術界中就沒有人會專心寫程式、研究程式、也沒有人會努力寫網頁、寫書,於是我只要朝著相反的方向,就會到達一個真空的領域,這個領域將任由我隨意揮灑。

於是,我開始大玩特玩,玩程式、玩動畫、玩寫作,我從 C#, XNA, Blender 一路玩到 Linux、GNU、Android,從 JavaScript, jQuery 一路玩到 Google/Facebook API,我寫了一本系統程式的書之後,就發現在網路上很少華人撰寫電子書,於是我開始將自己的所有經驗寫下來,在 Wikidot 上大量撰寫電子書,開始玩寫作、玩出版,甚至期許自己成為專業的網路程式作家,而不是寫很多論文的教授。

現在,我將與您分享這 22 年來,我在程式之路上的點點滴滴,以及我玩樂、嘗試、學習與創作的過程,如果您是一位程式愛好者,相信您會有所共鳴。

陳鍾誠 於金門大學 2010 年 9 月 8 日

Clone this wiki locally