#E6E6E6 當程式設計師遇到妓女、藝術家 作者:吳文成

[[img src=talk/clock2.jpg height=218 width=218 align=left]]  程式設計師總是黑著眼眶,一手端著苦苦的咖啡,一手用鉛筆敲著自己的腦袋
,直到半夜都還在編碼與除錯。一年只接兩個 case,一週就得工作六個整天,老婆氣得想離婚,小孩哭著說爸爸像木頭人,而且每隔一年,程式設計師就必須學習新的技術、新的平台標準,熟悉開發工具的改版。這就是程式設計師的苦悶與辛酸,有人還調侃說,程式設計師與妓女「最大的共通點就是——得到快樂的同時,又得到了金錢」。

  我不算程式設計師,所以得不到金錢,不過幸好我還是得到快樂。拿程式設計師與妓女做比擬,看來有些不倫不類,但是我可以體會箇中的滋味。去年一整年我「莫名其妙」寫了幾套軟體( 參考文末的 PS), 嚴重感覺到那種體力的負荷與夜貓子的作息,而最後的快樂是終於把「這檔事
」給結束掉。越說越曖昧,不過這是事實,程式設計是一種身體(還多了腦力)的迫害,在習以為常的反覆動作裡,快樂甚少,只有在「我的天啊
,終於結束了!」之後,才進入柳暗花明又一村的世界。

  當程式設計師遇到妓女,他們會彼此惺惺相惜、相擁而泣,因為在柳暗花明又一村之前,鐵杵必須磨成繡花針,那磨磨磨的時間好比是沉重巨輪,讓人快速老化。基於愛護的心理,程式設計師會對妓女說:妳不要再幹這一行了!妓女可能會考慮:可是,要等你付錢給我之後再說。(如有冒犯,敬請見諒)妓女的部份要先做一個小結,以下讓我談談藝術家。

  這個問題很有趣:程式設計師的美學追求與藝術家的美學追求有什麼不同?程式設計師與藝術家同樣可以為了作品而焚膏繼晷、日夜顛倒,程式設計師與藝術家也同樣不確定自己能不能在期限內完成眼前的作品,往往(程式設計師)一個程序配置的不當,或是(藝術家)某個意象的頓失
,就可能使得他們在懊惱的心情下,重新檢視、重新調整整個作品。

  當程式設計師遇到藝術家,他們一定會佩服對方的「敬業」態度,他們都瞭解,一旦中途放棄,結果是什麼都沒有。但是,他們在技術上面臨的考驗卻有不同。藝術家的考驗在於,如何捕捉稍縱即逝的意象,如何用[[img src=talk/clock2.jpg height=218 width=218 align=right]]有限與貼切的材料來摹臨心裡的形象。而程式設計師的考驗是,如何在開發平台的相關限制下解決問題,如何在可靠性與效率上完成軟體週期。

  藝術家的美學可以包容多變、殘缺或是懸而未決、不由分說的意象,但是程式設計師的美學卻是一個作品的可理解性
包括簡明性與良結構性)
、正確性(包括符合預定的目標)與合理性(包括用戶端的介面適應性)。儘管如此,他們絕對都同意,靈感對於自己的創作是非常重要的!藝術家藉由靈感將抽象的條線變成具象的形體,最後豐富了自己的作品;而程式設計師藉由靈感,來疏通腦袋裡打結的邏輯線路,找到好的演算法。

  當程式設計師遇到妓女、藝術家,當他們三人聚在一起的時候,那一定是非常感人的畫面,在骨子裡,連結他們的是努力與執著的特質。他們會因為遇到知心人而一起喜悅,他們也會一起嘆息,因為他們追求完美,可是完美只存在於一剎那,然後作品與生活的不完美性又打擊他們稚嫩的心靈。在盡情演出之後,妓女想要擺脫生活的不順遂,而藝術家常常在短暫的滿足之後,對自己的作品頤指氣使,至於程式設計師的悲情也有不少
,因為足夠複雜的程式一定有 bug 在裡面,這裡的 bug 指的是阻礙程式正常運作的「臭蟲」,這是編程領域的鐵律。該怎麼說呢?雖然如此,我相信他們三人在相見的美好時光, 一定會彼此安慰,彼此勉勵。

PS:去年寫的主要軟體是 ExtraPlayer、ExtraCut、ExtraSpeaker、ExtraCPU
  、ExtraMidi 等系列,呵,我可以體會程式設計師追求完美的挫折。
2006/01/19