2009年9月4日 星期五

Y01 程式設計是藝術創作?

K主管常說一句話:“程式設計在實質上是一種藝術的創作,同樣的需要被不同的人實現時會有不同的產出。”就我所知有不少人都贊同這個觀點。前陣子我也認為這個說法挺有道理的,可是總覺得似乎有哪裡不對勁;思索幾天之後終於有了不同的想法而與K主管聊起這件事。

我提出的切入點是人像的雕塑,這很明顯是屬於藝術的範疇,每一位作者都可以任憑喜好去製作各式各樣的人像。接著提出同樣屬於人像創作的秦朝兵馬俑,我們都曉得兵馬俑的數量很多,雖然姿勢、表情與裝扮都有不同,但是服裝與身材卻是大致上相同的。再極端一點可以想像有一國的統治者想在全國各地放置出他的雕像,於是他穿上最喜愛的服裝並擺出某種姿勢,要求全國所有工匠全部都得做出一模一樣的人像。(以上的前提建立在工廠出現之前,所有的人像都必須經由手工製作)

從上面的說法,我們可以發現隨著要求的規格越來越多,每個藝術家的創作也可以從依各人隨興而作演變為具有統一規格的產出。同樣的道理也適用在程式設計之上:在沒有規範時每個人寫出程式碼的想法與風格會是相異的,隨著種種規範與規格的建立將會調整每個人的想法與寫法,漸漸演進為所有人產出的程式碼每個人一看就明白。

K主管認同了我的看法,想法調整為:遵循規範與規則的部分像是工程,其他的部分則屬於藝術的創作。然而隨著規範與規則訂定地更加完整,藝術創作的範圍勢必越來越小;等到某一天程式設計的一切都有人定義出良好的規範與規則時,programmer是不是真的就會像作業員一樣,每個行為都只能根據該生產線的SOP找出適合的零件來組裝產品呢?

沒有留言:

張貼留言