所選期刊
VOL:22期

程式碼間的粒子探險

徜徉天空的遊牧民族陳凱風

「凱風,你又在做些阿里布達的玩意啦?」長輩見到我常常這麼向我打招呼。記得小時候很少滿足於現成的玩具,反而常常利用手邊的材料,在自己的小世界裡進行「創作」──或是可以稱做「製造垃圾」的行為。我常使用各式各樣的紙張、厚紙板、竹籤、廢木材、保麗龍,甚至是簡易的電線、小馬達的組合,做出獨一無二、屬於自己小玩具。不過因為缺乏技術以及像樣的材料與工具,因此多半做不出真正有意義的東西。不過現在看來,這大概是我投身於實驗物理學的原點吧!

玩出帶得走的技藝
在接觸電腦以及程式設計之後,這些「創作」就慢慢轉到虛擬的世界去了,主要是虛擬的世界沒有材料成本的問題。那個年代的電腦並不像現在一樣聲光效果十足,也沒有有趣的網路,再加上現成的應用軟體很難滿足我的慾望,於是我開始在電腦上寫一些古怪的程式,從單純在螢幕上畫出各式各樣的幾何圖形,到做出有生產力的繪圖軟體、音樂軟體,甚至是一些遊戲。

我很常在電腦上「玩」程式,嘗試用程式來解決一些大小問題。有趣的是,我幾乎沒有從學校學到任何關於程式設計的知識和技術。那個年代的電腦課就是教大家開機、英文或中文的輸入法等等;即使有程式設計課程,也僅止於非常基礎的內容。既然無法從學校教的東西得到滿足,我便去買程式設計的書籍來學東學西,然後靠這些奇異的「玩樂」慢慢替自己打下程式設計的基礎。我在高中時自學了C語言,進了大學時再把C語言的增強版C++語言給學起來,會了這些後,其他程式語言都能快速上手。那時並不知道這些課外的知識到底有什麼用,只想著如果哪天不得已,也可以靠著它們找工作,至少不會餓死。......

[更多詳細內容請參閱《科學少年》2016年11月 ]