看了《簡單易懂的現代魔法》新一集的預告,見到一個新的名詞,當然,那也是個在電腦學上有特別意思的詞語,所以也把它的含意貼出來。這是個挺有趣的故事啊。
scratch monkey
字面的意思是「搔頭的猴子」,但用在電腦學上則是來自一句骸客常用的俗語:「Before testing or reconfiguring, always mount a scratch monkey(試測或重新設定之前,記緊抓好那搔頭的猴子)」。這句話的意思是提醒電腦從業員在處理重要而且沒有取代品的貴重資料或器材時要非常小心。
這句俗語的出處是一宗發生在1979/80年(原作者自己也不太記得起)多倫多大學的意外,當時一位生物學家在大學養了一頭猴子Mabel作研究之用,他們花了多年時間教會Mabel游水,並以一部電腦來控制Mabel所呼吸的氣體成份,藉此研究空氣成份對猴子的生理影響。
有一天,修理人員買來他們首部用來調校類比儀器的虛擬位址擴展器(VAX) ,他們首先就用那儀器來調校那台控制Mabel所呼吸的空氣成份的電腦的D/A轉換器(數碼/類比轉換器,進行數碼信號和類比信號之間轉換的儀器,你家中的DVD機也有那種東西)。不幸地,因為這次調校令空氣的成份改變了,最終導至Mabel窒息死亡。
自從有關的工作人員在網上公開了有關事件後,電腦從業員就以這句話來警惕自己小心處理貴重資材。
個人來說是蠻喜歡《簡單易懂的現代魔法》這小說的,不過說到動畫版就實在太糟糕了。苦命的是看來青文沒有打算再出中文版小說下去,聽說是因為沒錢,所以就裁掉沒那麼受歡迎的書。這本小說裡借用了很多電腦的專有名詞,當然原來那個詞的意思不是那樣啦。本來,米奇打算叫同事在《GAMEWAVE》的副刊《T-nami》裡做一個劇中名詞真正含意的專題,因為雖然有些名詞在小說裡有所解譯,不過有些似乎就譯錯了。可惜最後《T-nami》給取消了,《HobbyWave 2.0》不是動漫雜誌,也不好做那種專題,所以米奇只有在自己的Blog上貼了。希望讓大家在看小說版時找到多點樂趣。
Wizard
這個相信很多人都知道,在近代OS中,Wizard裡譯作「精靈」,是指用來指引用戶去完成目標任務,或做程式設定時的程式,這類程式通常由大量對話框組成,而每個對話框通常只會有一條要用戶決擇的問題和大量說明 ,務求令程度較低的用戶也能夠順利完成任務。米奇覺得,這與其稱為程式,不如說是一種「手法」吧。
Daemon
一般翻譯會把Daemon譯做惡魔吧?但是電腦書就愛把它譯作「守護程式」,早年Windows用戶會把它稱為常駐程式,目的就是無時無刻留在電腦記憶體中,隨時為準備為你完成任務。近年的系統就愛把它稱為「守護程式」,或在Windows系統裡,將它稱為「Service(服務)」。
Layer
在小說裡,譯者將Layer譯作「圖層」,這大概是因為他們多接觸到的都是圖像處理軟件吧。其實,Layer(層)這個詞在電腦工程裡有更深的意思,它代表著把一件工作分工分類,每一層由不同的專業人士處理,當一層的工作完成後,就將完成處理的東西(可以是資料這類軟件,也可以是電流信號這類物理事物)交給下一層去處理。最著名的分層處理,莫如網路通信的7層架構。一般小用具如iPhone,其OS也分了4層來處理不同層次的事情。
jini
這是一種由Sun Microsystem提倡的網絡設置規格,目的是讓電腦、AV產品、家電等產品可以輕易地連上網絡,取用網絡上其他機器所提供的功能,這個規格是以Java作基礎。同類規格就有由Microsoft提倡的uPnP,相信後者反而不少人都知道。
ghostscript
這東東其實跟鬼怪一點關係也沒有,而是一個用來控制字體的軟件庫,主要是用來控制postscript字型和處理PDF相關的工作。
voodoo programming
這種被譯作「巫毒編程」的東東其實不是甚麼新興程式語言或編程技法,其實是指一些不學無術的人,在使用或編譯從別處拿回來的程式碼時因為無法讓它作動,於是便去亂改程式碼,期望那個些程式碼不知為甚麼可以跑得動。另外,也有一種說法是指一些學藝未精的程式員,從網上或書本上找來一大堆看似有用的程式碼,以東拼西揍的方法將它們嵌在一起來寫出一個程式,假如僥倖跑得動,就以為自己很了不起,但其實他們自己也搞不到箇中原理。
Library
在故事裡,無論古典魔法還是現代魔法,都被視為程式碼(code)。而第一部故事的高潮,就圍繞著「魔女圖書館」來發展。其實「圖書館(Library)」一詞在電腦編程來說,應該譯作「函式庫」較為貼切。「函式庫」是指把一堆功能相關的程式碼包裝起來,方便取用,情況就像圖書館將同類書籍放在一起方便檢索一樣。除了DirectX、Cocoa等著名的函式庫/框架之外,不少程式員其實手底裡都有一系列就手好用,經常要用到的函式,那可能是日積月累收集回來的,或是程式員自己寫的(米奇自己手底裡也有一個啊)。以此解釋的話,就能明白為甚麼大家都去爭奪「魔女函式庫」,因為它應該收集了一系列好用且威力強大的魔法程式碼。
Garbage Collector
資源回收者是由Java開始引入的機制,現在大部份近代程式語言如C#也都備有。在Java之前的C或C++等語言,當佔用了記憶體或打開了通道之後,如果程式員躲懶或不夠細心的話,就會一直佔用著,蠶蝕電腦資源,最終可能會導致電腦變得緩慢,甚至當機。而資源回收者則是當某個資源的沒有再被連結之後,會定時按照一定機率被自動收集,將資源釋放出來。資源回收者還會擔當整理的工作,將大堆碎散各地的資源整合成較大較好用的單一資源。
TMTOWTDI
這個詞的全寫是「There's More Than One Way To Do It.」,其實是一種在Unix系統上非常常用的腳本語言Perl的設計哲學,意思是指他們設計Perl的目的「並不是打算去教(規限)程式員怎麼去編程」,程式要怎麼寫,全是程式員的自由。