且住。列位看官,這書題為「趣味電腦」,因何談起紅顏薄命來?祇因電腦的程式語言,也和銀幕上的尤物一樣,雖然今朝天生麗質,顛倒眾生,他日難免年老色衰,為人所棄。抱著這種無常的心情,我們對各種電腦程式語言,才能有比較客觀的評價和認識。不僅電腦程式語言如此,那林林總總的各型電腦,更是日新月異,隨時會被更新型的電腦所取代。人們總是羨慕電腦行業的從業人員待遇最好,其實這一行有這一行的苦處,稍不努力學習,就會被淘汰掉,「技術落伍」壓力特別大。所以您知果決心加入電腦行業,切莫以為學了幾種程式語言,就可以混吃混穿一輩子。
今天學習了基礎程式語言、佛傳程式語言、刻薄程式語言,明天還要學習更新、更好的程式語言。對於層出不窮的新型電腦機種,更要注意研究,您才不致落伍。
程式語言雖然多,但萬變不離其宗,都有些共通的地方。程式設計有三大原則,這三大基本原則是順序性、重複性、抉擇性。
先談順序性。所謂程式,就是我們給予電腦的指示,要求電腦依照我們的指示辦事。我們給電腦的指示,行話叫做指令(Command),有的程式語言裡則稱為敘述(Statement)。「指令」似乎比較「動感」,電腦執行我們的指令,才能完成任務。一般的交談式程式,例如基礎語言程式,乃是由指令所構成。所謂交談式(Interactive mode),就是我們每次給電腦一個指令,電腦就去執行。一般家用電腦,都使用交談式的辦法。既然電腦每次接受我們一個指令,指令有先後之別,自然就有了順序性。
佛傳程式和刻薄程式,由許多「敘述」所構成。「敘述」似乎比較靜態,但它同樣告訴電腦,該做些什麼事。電腦接受了整個程式後,才去做事。這種非交談式(Non-interactive mode)的辦法,必須等我們寫完整個程式之後,電腦才去編譯執行;程式裡的敘述也有一定的順序。因此,不管用「交談式」或「非交談式」的辦法,程式都有順順序性。
再談重複性。電腦比人腦強的地方,就是電腦適合做重複的工作,不會厭倦,而且速度比人腦還要快。因此,絕大多數的程式語言,都有辦法要求電腦重複執行幾千百次同樣的工作。
最後說到抉擇性。電腦和人腦一樣,都能根據發生的狀態,做出判斷來。我們常常說決策;決策的意思,就是根據某些情態,決定相應的策略。我們在日常生活裡,不斷面臨決策的問題,也不斷做抉擇。例如:
「如果天氣太冷那麼就多穿衣服。」
「如果天氣太熱那麼就少穿衣服。」
一般的電腦程式語言裡,都有類似的句法:「如果某個情況是真的,那麼就採取某行動。」當然,電腦可能不懂「天氣太冷」是什麼意思,這句話有些含混。如果說「氣溫低於攝氏五度」,電腦就懂了。人工智能學的一個課題,就是希望電腦能了解比較含混的語句──我們不必說「氣溫低於攝氏五度」,只要說「天氣太冷」,電腦也一樣能夠了解我們的意思。
順序性•重複性、抉擇性,是電腦程式語言必須具有的基本特性。最早設計出來的程式語言,也具有這三個基本特性,但是那時候祇知其然並不知其所以然,所以語法上不曾突出這三個特性。現在我們既然了解程式設計的原則,新設計出來的語言,就特別在語法上強調順序、重複及抉擇的原則。白思嘉所以受人寵愛,就因為她的語法端莊美麗,合乎最新程式設計的原則。
許多家用電腦上面,現在也出現了自思嘉的芳蹤。如果列位看官的子女愛玩家用電腦,不妨鼓勵他們學習白思嘉(PASCAL)程式語言。
白思嘉和「亂世佳人」裡的郝思嘉一樣,不僅貌美如花,個性也甚倔強,不容許人們對她有絲毫輕視。您如果使用一般家用電腦上面都有的基礎程式語言,就會發現基礎程式語言是個脾氣甚好的村姑。您忘記給變數歸類,基礎程式語言不會怪您,也不會責罵您。比較起來,白思嘉是個非常不講理的貴婦。您一定要小心伴陪她,每個變數都要歸類,不然她會大發脾氣的!
什麼叫做給變數歸類呢?原來電腦要儲存資料,多半得給每個資料一個名字,叫做變數名稱。這就和代數裡面,我們常用X、Y、Z這些字母來代表變數一樣。但是電腦裡面存的資料有各種類別,例如:整數、實數、字串等等。白思嘉要求您在提到任何變數之前,先就告訴她,變數的類別是什麼。這樣做的好處,是可以防止您「感情走私」,在變數裡面裝進些她搞不清楚的東西。如果您不這麼做,白思嘉就認為您太薄情,會大發雷霆,拒絕執行您所寫的程式。
類似白思嘉這樣的程式語言,行話叫做「嚴密設類程式語言」(Strongly typed language)。嚴密設類程式語言,像家教極好的貴婦,一切事情都要中規中矩,有板有眼。使用這樣的貴婦程式語言,好處是不易出紕漏,這也是電腦專家喜愛白思嘉的原因。壞處就是太死板了,有時反而使人覺得透不過氣來,希望再認識個不那麼拘束的野女郎。
白思嘉系出名門,是阿哥程式語言(ALGOL)的獨生愛女。白思嘉有個表妹,名叫C程式語言,也為許多電腦專家所樂用。另一位年紀更小,歐洲來的堂妹愛達(ADA),許多有識之士更驚為天人;美國國防部也特別捧愛達姑娘的場,要求軍方一致採用。然而美國兵大爺們多半不解風情,不能領略愛達姑娘的嫵媚動人風姿,有不少人還矢志對佛傳五世忠心耿耿。因此儘管美國國防部三令五申,仍然有些單位拒絕採用愛達,甚至企圖將她打入冷宮,這場鬥爭好不激烈,怎見得?有詩為證:
「六軍不發無奈何,宛轉娥眉馬前死;
君王掩面救不得,回看血淚相和流!」
究竟白思嘉、C、愛達三位美女命運如何?是否紅顏必然薄命?欲知後事如何,且看下回分解。
This page was made by Alex Tsai.
You may email any suggestions to: changsk@ksi.edu