做研究與寫論文

最近有幾篇頗有爭議的文章「陳鍾誠給李家同的一封公開信」 「陳鍾誠給李家同的第二封公開信」,針對李家同批判他是現在學術界獨尊論文的始作俑者,並指出應該要有其他的研究產物或評鑑方法(像是寫一個作業系統、做一個CPU之類的)。雖然李家同常常講出令人啼笑皆非的話,但就這兩篇文章而言我還真覺得李家同挺無辜的,連學術界獨尊論文的事也怪到他頭上實在有點牛頭不對馬嘴。

雖然我博士班還沒畢業,但我也寫過幾篇論文,也做過有上萬人使用的系統,我非常了解擅長實作不擅長寫論文在學術界的苦悶和無奈。但隨著我在MIT的時間越來越長,也對這個現象慢慢有了不同的看法。

話說我很愛寫程式,遠勝於寫論文。我可以不眠不休的寫程式,但沒辦法這樣寫論文。如果我當初碩士畢業後直接去工作,就可以在任何我想去的公司愉快的全職寫程式,但到頭來我還是來念博士班了,為什麼?很簡單,我需要有個環境能讓我不計後果的做各種嘗試和試驗。我喜歡寫程式,尤其是沒人做過的程式(一直重複寫留言板和twitter client可不好玩)。做沒人做過的事雖然好玩,結果可能會出乎意料的好,但也有可能會大大的失敗 – 而這就是研究。在公司裡做工程師寫程式就不太能做這樣子的事情,因為公司要考量風險,可能會大成功的東西也意味著可能會大失敗,而大部分的公司沒辦法禁得起這種失敗,所以只好跟著別人的屁股走。

MIT是個很酷的地方,歷史上有很多有名的系統都是在這裡誕生的,像是Ethernet、Emacs、GCC、LISP(語言和第一個compiler)…。如果說要在學術界動手做真正的系統,那MIT一定是世界上數一數二的地方。那麼在這個地方,博士班學生要如何畢業,教授要如何升等呢?

很不幸的,答案是:寫論文。

在資訊科學這領域,美國學校不像台灣獨尊SCI論文,事實上美國人大多不知道SCI是什麼東西,但不是這樣就代表美國不寫論文。在這邊搞電腦、資訊研究的,一樣要寫論文,而且只投到各子領域的一兩個頂尖會議去。(一個大家都知道的潛規則是,三篇頂尖會議的長論文=博士畢業)

台灣有台灣的遊戲規則,美國也有自己的遊戲規則,但即使是MIT的系統hacker們,也擺脫不了寫論文的命運。(例如說,Richard Stallman其實有寫Emacs的論文,做PostgreSQL的Stonebraker也有一大票的POSTGRES論文

我以前覺得寫論文很痛苦,也懷疑有多少人會去看這些紙張(論文英文就叫paper,所以名符其實就是一堆紙),對我來說直接把程式寫出來讓人用似乎更能直接造福人們。我到現在其實還是這麼覺得,所以我花了很多時間把SIKULI open source,建立起一個community,並持續更新千百個跟研究完全無關的功能,目的就是讓所有人能更直接的享用到這個研究的成果。(而很不幸的是,做這些事情跟我能不能畢業沒什麼關係,但還好我老闆還是支持我的。)

但同時,我也覺得論文的存在有其必要性。我認為做研究可以產出多樣化的「產品」,這產品可以是程式碼,可以是影片,或其他任何形式的媒介。而追朔到其核心,研究的產出最重要的是「想法」,也就是 “idea”,而論文只是最簡單又最容易被其他人接受的傳播媒介而已。

為什麼說論文有其必要性,就是因為論文是傳播想法最有效的媒介。論文的架構設計得讓人可以很容易抓到重點,也可以很容易的深入核心想法。如果寫過論文的都知道,論文的架構是死的,一定都有abstract、introduction、related work、conclusion等等,這種架構讓人能各取所需,要深讀或略讀都很容易。但如果說研究的產出是一個軟體系統,我們該從何了解這個系統的「想法」在哪呢?為了要讓一個系統達到「可用」的程度,整個系統裡面至少90%以上的程式碼都是純粹的工程產物,跟核心概念一點關係都沒有。而程式碼又是很難讀的東西,如果別人要了解這個研究的創新在哪,讀程式碼一定是不得已的最後手段。

我絕對贊成做研究的人也得懂如何實作。很多好的idea其實老早在數十年前的論文就出現過了,但一直到現在都看不到,常常只是因為沒人去把它實作出來而已。做研究最難的事就是找到新的idea,如果只是學人家實作一個作業系統或是CPU,那也不過是照本宣科,沒什麼「研究」的價值和貢獻。像MIT這種強調”Mind & Hand”(手腦並用)的地方,很多教授都有很強的實作能力,但他們一手寫程式,另一隻手還是寫論文,因為他們知道這樣才能得到務實的經驗,而同時也能把這些貢獻和想法用最有效的方法傳播出去。

如果你問我,「我在學術界,但我擅長寫程式,不擅長寫論文,該怎麼辦?」

我覺得答案很簡單:如果你有很多創新的點子,那就開始練習寫作和英文,因為不管在什麼領域,如果你沒辦法好好的把想法傳達給別人,那也是孤掌難鳴;如果你沒有什麼點子,只是喜歡寫程式,那更簡單了,趕快quit去做工程師專心享受寫程式的時光吧。

延伸閱讀:
我看李家同的是與非。此文的觀點跟我很接近,所以他講過的很多東西我就不再重複了。

附帶一提,最近在facebook上成立了粉絲頁,歡迎大家加入多多交流!

24 thoughts on “做研究與寫論文

  1. 雖然該文沒說的很明白,或者說,沒有正確陳述,但我必需說,你弄錯了焦點。我想作者本身反對的不是「論文」,而是純粹為目地的研究。我會這麼說的原因是,作者在第一篇文章接近開頭處就提到「現今台灣的大學全都被導向了研究為主的路線,而且更糟的是,大家都只做可以發表論文的研究。」 因此,我認定文章真正反對的是「只做可以發表論文的研究」和「獨尊 SCI」,而不是反對「寫論文」。

      • 我同意你的說法,但這其中有些弔詭的地方值得探討。如果說作者的意思是反對以發論文為目的的研究,那研究的目的和產物應該是什麼?我想表達的其中一個意思是,我覺得研究的目的是創新,或探討還沒人了解的知識和問題,而論文是一個研究必要的產物之一。

        所以其實我還蠻想問,不能發表論文的研究是什麼樣的研究?作者沒說清楚這點,而我的看法是,如果研究的結果「沒辦法」寫成論文,那別人也難以了解和利用這個成果,於是這研究可能也沒有足夠的價值。

        • 對於不能發表論文的研究,應該說,他們做的是Development rather than Research。或者是實作的系統不包含創新性。很贊同文中的觀點。

        • 這並不是一個非黑即白的二元問題,陳鍾誠指的應該不是「不能發表論文的研究」。而是研究的目地和過程不能只做對「論文」有幫助的事,而柄棄其它無助於論文的部分。例如,你不能做 CPU scheduler 的研究,而沒有實際 coding 並應用在 kernel 上。不能因為實作對於論文發表不是必要,也沒有幫助,而只做幾個 simulation 就算數。雖然原文說的不很清楚,但從文章的開頭,應該這麼解讀會比較合理。

        • 「純粹以發表論文為目地的研究」很容易把研究者導入不顧現實,只求達到目的方向。做過研究的人應該都知道,有很多用來合理化研究內容的相關基礎是可以兜出來的。只要兜的好,很不和現實脫節的部分,連研究者本身都不會發現。也就是連自己都可以騙過。或許研究者本身是無意的,但陷入「發表論文」為唯一目地時,就幾乎會發生這樣的現象。

        • 我很贊同陳鍾誠的理念,但他原文焦點實在有點模糊,讓我不知道該怎麼解讀他的文章。所以我寫這篇文章不是為了要批判他,而是想讓大家能更了解現況。

          陳鍾誠講了太多讀尊論文的不是,然後只說「自己朝著相反方向走去」,但這方向到底是什麼?他也沒說。

          第二篇他說了:「如果我們要求那些喜歡寫程式的人去寫論文,他們將會痛苦萬分,即使勉強寫了出來,也不會是優秀的論文,無法成為優秀的學者。您只能將一個優秀的程式設計師變成一個不入流的演算法研究者,但是不能讓他成為一個優秀的論文型學者。」從這段話看起來,我覺得他想說優秀的程式設計師應該也要能靠寫程式來做研究,而不是寫論文(也就是應該要有「程式型學者」的存在)。

          但他也說了:『演算法學派的學者,正是典型的「論文型學者」,而您所培養出來的徒子徒孫們,都是從接受成為一個「論文型學者」的訓練出發,而不是從一個「程式設計師」的訓練做起的。他們正是極端重視理論卻又對實作無能為力的一群,而這種極度重視理論的特性,正是台灣當今學術界最大的問題,我們的學術研究當然就無法與產業界相結合,所有的研究都只能在理論層次上面進行,而忽略了實務與設計的重要性了。』從這段話看,就像你的解讀一樣,學術研究應該要搭配實作應用,但他還是沒說清楚實務和設計要在學術研究中扮演什麼角色。

          anyway.. 我不想一直挑他文章的問題,但有這兩篇文章起頭,如果學術界會有所變革也的確是件好事。

  2. 很赞成写作的重要性。最近读过 The Craft of Research,觉得这本书(有繁体和简体中文版)在论文写作上很有帮助。供还不擅长写论文的同学们参考。

  3. comment 好像有點問題,會出現一些錯誤訊息。
    確實,原文不是寫的很清楚。我在看完第二篇文章後,也充滿疑問。後來我在該網站爬看有什麼文章,想要了解作者是一個什麼樣的人。其中我看到這一篇
    http://ccckmit.wikidot.com/research:science
    第二段 「誤入歧途」,特別 引起我注意。剛好可以說明這兩篇文章的脈絡。

  4. 我覺得他的文章最後想要講的話並不是在論文的問題上,也不是在研究的問題上。那個陳老師這樣多年來應該是發現一件事,即便自己教出來的學生很有能文能武的實力,但這個社會著重的是能文不是能武,所以這些學生也不見得拼得過那些只會寫論文的。要注意到文章的標題是「教育界的震撼彈」喔,並不是學術界,他是以一個老師的身份,想要抵抗這個共犯體系。站在一個老師的立場,本來就應該教育學生對的事情,對的方法,自己也應該像你這樣鼓勵「一手寫程式,一手寫論文」。但問題是台灣許多教授不但不寫程式,反而自己也跳入共犯體系求生存,也把學生教育成那樣。有一天學生也當老師,也把學生教育成那樣,逐漸台灣就到處都是為了求生而共犯的人。類似這樣的事情見多了,漸漸只能變成敢怒不敢言,有一天忍無可忍,於是想要搭著一個話題人物扣了上去。
    我身邊就有一些實做經驗不錯的,但在職場上,卻被一個完全不會寫程式,只是年紀大個一兩歲,只會寫論文,只會用講的的人壓的死死的。這種風氣確實是台灣的問題,只有在人在台灣,在不是很好的大學,在不是很正常的公司繞過,才能深刻體驗的。希望各位可以理解,這樣的學校,公司在台灣是非常多的,大家為了求生什麼話都敢說,什麼糟糕事都敢做。想請教vgod MIT的人會自己辦研討會自己封自己是某研究領域創始,然後審自己家裡的人的論文,再來宣揚這個研討會是非常具有學術地位?然後另一票人看了不對勁趕快也來辦學會,組織法人社團,開始找學生(而且還是對方陣營的學生),做研究發論文,審論文的?這些事情不斷地上演在我的身邊,但我想我和陳老師一樣,也是只能苦口婆心跟學弟說「在公司裡不要像你之前待的計畫一樣,做非技術性的手段,多寫程式,多做研究」,不過我想你們也清楚,一旦出了社會能夠不受影響下來的人實在少之又少…

    • 我覺得實作能力不足是長久社會風氣和教育方式造成的,MMDays的從東西方差異看台灣學生的實作能力已經提到了這個問題。而這問題我覺得得從更小考試導向的教育方式開始改起,對著李家同喊話實在沒什麼作用。

      關於你提到的自己辦研討會,審自己人的論文,其實就制度上,美國學校都是這麼做的。現在那些ACM/IEEE的研討會,都是這樣由一兩個學校的人組成的小社群慢慢擴大,很多新興領域為了要吸引更多人進來做研究,帶頭的人就會自己辦workshop/conference,然後邀大家投稿。但一開始因為領域很小,會投的一定都是認識的人,所以就跟你所說的自己辦研討會審自己家的論文沒兩樣。可是同樣的方式搬到東方來,就會被人覺得不公平或是走後門,而西方人辦的會大家就一窩蜂的去參加…。

      我想關鍵問題還是在文化上。東方人有太多小聰明,只要看到漏洞就想鑽。西方雖然用同樣的體制,但他們的心態是非常健康的,也不會有人質疑自己辦研討會的正當性在哪。西方人非常注重peer review,非常看重同事或曾經合作過的人意見,學術界和整個社會基本上就是用這種相互信任的機制建構起來的。但東方人講究人情,反而不相信同事能用公平的態度評斷他人。當互信的基礎不存在時,只好搞一些看似公平和客觀的方法來做評斷,像聯考、SCI都是這種文化誕生的產物。

      我覺得問題根源扎的很深,雖然大家都知道有問題,但想改也不是一天兩天的事..。

  5. 這裡有「以研究為目的做研究」和「以升等為目的、以論文為手段做研究」的差別。

    vgod 講的比較像前者,這樣研究的成果用論文的方式告知學術界和全人類,是理所當然的。

    要反對的是後者。君不見台灣資訊科學論文篇數在世界算領先群,但平均被引用次數極為落後(十年前看過數據,一時想不起來去哪裡找了)。當論文數是升等的最重要指標,有多少教授願意冒險「做長」、「做深」、「做細」、「做大」?有多少教授追逐熱門領域不斷做微小的改良題?這才是問題之所在。

    • 同意。現今的制度讓很多教授以量取勝,明明一篇paper能寫完的東西也硬要拆成四五篇寫,實在很糟糕…。

  6. vgod 先生您好:

    我很同意您說李家同先生是無辜的,我感謝您幫我澄清。我之所以點出李家同先生,原因是因為看到他的那篇文章。引發我寫的這兩篇文章,我必須要向李家同先生說抱歉,並請求李家同先生的原諒。我之所以用這樣激烈的用語,主要是為了挑起「獨尊論文」體制的問題,並且將這個問題引爆。

    我聽傅國長同學說您是許永真老師的學生,並且目前在 MIT 的媒體實驗室念博士班。我很高興聽到我們台大資工能出了您這樣的人才。

    金門大學 資訊工程系 陳鍾誠 敬上
    但是如果我們每個老師都要像 MIT 媒體實驗室的老師那樣的優秀,論文強而且程式又強,那我想我們台灣可以當大學老師的人應該會少之又少。可能每個老師上課時必須要開上 10000 人的大班,才有辦法解決師資人才荒的問題。

    另外,您在 MIT 聽課或許會覺得那樣才是很棒的上課,但您可能不曉得。像您這樣優秀的學生在台灣可是少之又少 (應該說極少極少)。台灣現今的大學升學率已經到達了90% 以上,我們的學生並非如您想像的那樣,可以聽得懂 MIT 大師的課,光是英文就掛了一大票,更何況還要程式強論文強。這種做法如果移植到台灣來,我想在台成清交等校或許勉強還可以,到了後面的學校可就會是個大災難了。

    有機會我希望您能來金門大學為我們講講您的經驗,當然請不要帶著程式與論文來講,否則不止學生聽不懂,我想老師們要聽得懂都會有困難的。

    為台灣教育界投下一顆震撼彈!(上課片段1) — http://www.youtube.com/watch?v=bfwgy2iPjp0

    為台灣教育界投下一顆震撼彈!(上課片段2) — http://www.youtube.com/watch?v=7KVrAHbzxCY

    • 您好,

      先澄清一下,我是在MIT的CSAIL(Computer Science and Artificial Intelligence Lab),不是media lab。
      您提到的議題牽扯到很多事,我想應該要分開討論。首先,教學和研究應該要分開。台灣的大學幾乎都是研究型大學,這其實很荒謬,不是所有人都適合做研究,也不是所有老師都有興趣做研究或教書。美國有專門的teaching faculty制度,可以讓喜歡教書的教授專心教書,也有research scientist可以專心做研究不教書。我覺得台灣也應該參考這種制度,把教學和研究分開,那得靠論文才能升等的問題也少了一大半。

      其次,我覺得您對MIT的大師上課有點誤解。真正的大師上課都是淺顯易懂,會用最適合聽眾的速度和詞彙來表達。這些大師厲害的地方就在於他們徹底融會貫通了一門學問,並且能用各種角度和層次來描述問題,撇開英文的問題不談外,我保證絕對不是因為我念MIT才聽得懂,而是任何有興趣的人都能理解。至於要怎麼讓台灣的教授能有這種表達能力,我想這才是值得探討的問題。

      有機會的話我很樂意去分享我的經驗,謝謝您的邀請。

    • 問題在於為什麼升學率要到 90%?
      有多少學生不應該浪費四年在大學?
      有多少大學老師不應該把人生浪費在追逐不踏實的升等上?

      聽不聽得懂要看自己夠不夠努力!帶的人會不會帶!
      而不是持續降低對老師、對學生、對學校的標準,該淘汰的就該淘汰了~

      • 升學率到達90%的確是個嚴重的問題,我覺得也比論文的三位一體結構更接近一切問題的根源。就如同陳教授文章裡提到的一樣,有很多喜歡變魔術的人、喜歡表演的人、喜歡寫程式的人,不是每一種人都需要讀大學,更別提需要唸到碩士或博士班。這些人被扭曲的社會價值觀強迫塞入大學體系中,之後社會才因應這種需求著成立很多沒必要的學校、招募沒必要的老師,導致這些老師也開始寫沒必要的論文…。

    • 我想問題在台灣的制度採用會造成同化的評價方式,造成大家都追求某幾個向度的高評價,而不是全方位的發展。這扼殺了原先應該正常的發展。

  7. 我覺得在台灣 有些老師
    並不適合當老師
    我的指導教授 目前是副教授
    想升等到教授 所以一天到晚
    都叫學生 做研究寫論文 讓他有足夠的篇數
    升等成教授 但是他 並不會去指導學生
    因為他會的領域跟學生做的領域根本不同

    而且老實說 他上課很糟糕
    一個教授開的課 上課前竟然沒有先看過
    反而是 當天上課才看內容
    導致有一些 內容他在課堂上 無法解釋清楚 學生聽不懂課程

  8. Pingback: Recipes for all tastes, which can be made ​​by beginners or advanced in the food.

  9. Pingback: 台灣 Computer Science 教育界的討論 | Northern Wind

留言給我吧!