2008年10月24日 星期五

Assume Nothing(一)

前幾天和太太到了澳門兩天,每次到澳門,我都必會到賭場小賭幾舖。以前,我並不會輕易說出來,‘賭’是不好的嗎!

但近幾年,我對中國文化和演化心理學多了點認識,我終接受了我有‘好賭’的文化基因,否認並沒有甚麼好處。反而應積極面對,我就是實行了嚴格的‘風險管理’,把風險限制在一百元內。吓,這還算是賭?一元也是賭,適當的賭便可滿足‘好賭’基因,有關這點,有機會再另文討論罷。今天,我先說一件令我‘大開眼界’的事情。

澳門的賭場,除傳統由人主持的賭局外,也大量引入電子化賭局。我比較喜歡這些‘電子遊戲機’。箇中原因有機會再討論罷!這些機器可自動‘食錢’,即你放入鈔票,它便會辨認和入帳,到你離座時,便可印出‘現金券’,‘現金券’可兌換現金或放進其他機器中。

我便是拿著一張‘現金券’放進一部機器內,這部機器居然‘食’了我的現金券,但並沒有入帳!我呼喚工作人員,擾攘多時,看見他們跑來跑去,全無章法,最後終來了一個類似技術人員的物體,他打開機器,拿出裝載現金券的盒子,這樣做弄得警鐘大鳴大放,好不滑稽!

基於保安理由,他是不應也不可打開這個盒子的!荒謬的事又來了,他就是用一個小夾子去‘突破’這盒子的保安,經千辛萬苦後,終把我的現金券弄(挑)出來了!

‘先生,現金券應是印刷面向上的,你反轉了插入,所以機器辨認不了。下次請你看清楚!’

‘若我插入一張機器辨認不到的鈔票,機器是不是該退回,而不是食了不認帳呢?就算是我插錯,機器就該食了不認帳嗎?’

‘機器就是這樣罷!’

好,錯錯錯,都是我的錯,又或是電腦的錯,總之就不是賭場的問題!

身為一個程序員,我對自己有一個終極要求,這就是‘Assume Nothing’。若用這個標準來量度為這機器編寫程式的程序員,就是‘不合格’。在編寫程式時,他就assume(假設)用家必然會按指示(如果有的話)插入現金券!這是程序員的‘死罪’,以前,若一個專業程序員寫出這樣的東西,必然會給同行恥笑得無地自容!

但今天,賭場的工作人員居然可理直氣壯地說,這是客人的錯!

幾年前,我發現了一個令我震驚的事實,原來現時很多大學的電腦系,不單不要求本科生修習純數學,就連高中數學都不列為必要的取錄條件。我落後了,我一直認為數學是基本功,是專業程序員必修的功課,但我錯了!

昨天,太太跟我說她在數學期刊上看到一個老題目的新應用,這就是用來判別一個人是否適宜修習純數學或邏輯學,我想想,其實這也是一個可用來量度是否適宜當程序員的指標,這是甚麼?下文再續。

沒有留言:

網誌存檔