[洪士灝] 寫程式到底要不要天份和熱情?

看到這篇標題為「寫程式不需要天份,也不需要熱情」的文章,覺得還頗有趣的。我很同意作者要破除「深植人心的刻板印象」的心意,想先談破除迷思這個部份,至於寫程式的部份,則有待討論,文末再談。

有時會看到這類經由聳動標題鼓勵讀者思考的文章,有的是作者刻意,有的是媒體加料的。我想最重要的是內容要言之有物,讀者要能思辨。我就常常藉這些機會思辨,用寫文章來澄清思緒,改變自己對事情的刻板印象。

如果我們把這篇文章的標題改為「寫文章不需要天份,也不需要熱情」,似乎也可以論證。馬上想到,一大堆記者天天寫文章,有天份和熱情嗎?(最近有人諷刺記者,說小時不讀書,長大變記者)。

寫一篇四平八穩的文章,不見得需要天份,倒是比較需要努力,但是才氣縱橫的文章,則是沒天份不行。熱情的作家比比皆是,但有影響力的名家不多。而我們從小背國父、蔣公的文章,請問他們有寫作天份,有天天想寫作的熱情嗎?名家和文章的影響力,與很多其他的因素相關,包括政治和機運,在此不一一列舉,所以這問題沒有標準答案,而答案要看你想寫何種文章而定。

圖說明
(圖片來源:ShutterStock)

我們還可以把題目換成「造東西」,但「造房子」「造汽車」「造飛機」「造火箭」同樣都是造東西,那個需要天份和熱情?講清楚之後,答案可能大不同。如果我們籠統地說「寫程式」,不問清楚是寫什麼程式,那要怎麼談呢?

因此,要思辨這類問題,關鍵往往在於深入追究文字的定義與內涵。一般人總是習慣接受主流的籠統概念,但卻不見得抓得住其具體內容和範疇,所以拿一個籠統概念套上另一個籠統概念。

傳統教育比較不鼓勵思辨,而且特別喜歡看大師如何扼要地回答「大哉問」。很多人特別愛摘錄大師嘉言錄,但不見得知道其微言大義。很多大師自己好像也不願多費唇舌講清楚,只好讓後人自己去揣測「道可道、非常道」的意思了。

我個人提倡在中小學教程式寫作,其中許多好處之一,就是「訓練學生清楚正確表達想法」。目前的作文訓練,很多只是教學生像大師般在短短的篇幅中籠統地說大道理,不夠清楚,也不見得正確。而數學和理化的訓練,則是機械式的解題,解答的式子能有幾行?算不上什麼表達想法的訓練。

承接以上的脈絡,我們來談「寫程式需不需要天份和熱情」這個命題時,首先需要更進一步講清楚「寫程式」的目標,才有辦法深談這件事。例如我簡單將寫程式的目標,分為以下三類分別做討論:

(1) 寫程式來解決特定非電腦領域的應用問題

需要的是解決問題的天份和熱情。這類工作只要程式的邏輯正確,能力得以解問題、創新應用,那麼程式寫得好不好,不是重點。如果程式或演算法寫不夠好,找(2)的人來改;系統不夠強,找(3)的人來一起解決。

(2) 寫程式來發展電腦領域內的軟體

這種人,常常是在所謂純軟體公司工作,一天到晚與電腦接觸,時時要面對不斷累積、越來越複雜的電腦軟體,常常要學習新的軟體語言、介面、架構,如果沒有天份,那麼可能難以理解複雜的部份,如果沒有熱情,恐怕不易堅持下去。

(3) 寫程式來研究和發展電腦系統

這種人,例如在 Google/Facebook/IBM/Intel/Apple/Oracle的系統研發部門,最重要的是搞清楚各類與電腦系統相關的技術,改進現有的技術,而他們用來利用電腦來管理、分析和設計新的電腦系統的東西,都是程式,所以他們需要懂得寫程式,但未必是程式高手。

這樣討論就清楚些了,不是嗎?如果大家都把話講清楚,雞同鴨講的事情應該會減少些。

圖說明

我個人很不喜歡「以寫程式能力來判斷是否為強者」以及「為了寫程式而寫程式」的作法。過度強調這些,的確是造成社會刻板印象的根源之一。但是懂得寫程式的人有很多在做(1)和(3)的工作,需要的遠遠不只寫程式的能力,所以不應該特別突顯(2)的狀況,或是以為只有(2)才是王道

然而,做任何學習和工作最好要具備起碼的天份和熱情,只是所需的專業和程度多寡不同而已。所以說「寫程式不需要天份,也不需要熱情」這句話是有瑕疵的,拿來破除迷思可以,但請不要籠統地抓住這句話到處去宣揚。

總之,想學寫程式,多一項能力,也多了邏輯思考和清楚表達的訓練,是一件好事。至於學了之後要做什麼,那就有太多的選項,最好的方法,就是先入門來學,才能確切分辨以上所講的事。

原文出處:洪士灝臉書

洪士灝

任教於台大資訊系,密西根大學電腦博士,台大電機學士,曾任昇陽電腦研發工程師,喜愛研究各類電腦系統效能、應用、安全,關心教育、產業和社會之永續發展,平日藉由閱讀和撰寫網路文章來吸收網民智慧、澄清個人思緒。

追蹤我們