使用Scheme,你可以:
這些就是為什么要學(xué)習(xí)Scheme的原因。在你用Scheme編寫一些實(shí)用程序的時(shí)候會(huì)遇到一些困難。
然而,正因?yàn)檫@是一門值得學(xué)習(xí)的語言,所以許多卓越的黑客鐘愛Scheme。事實(shí)上,計(jì)算機(jī)程序的構(gòu)造和解釋(Structure and Interpretation of Computer Programs,SICP)——最好的計(jì)算機(jī)科學(xué)教科書之一——使用Scheme來描述演示程序。GNU也使用Scheme(一種被稱作guile的實(shí)現(xiàn))作為其應(yīng)用軟件的通用腳本語言。guild相當(dāng)于MS-Word或者Excel(原文是Excell,應(yīng)該是作者的筆誤,譯者注)中的宏。它被用來通過簡單的腳本來操作應(yīng)用程序。
盡管Common Lisp更加適合構(gòu)建實(shí)用應(yīng)用程序,但我依然推薦你首先學(xué)習(xí)Scheme,因?yàn)檫@門語言:
業(yè)界大牛提出過“Scheme使你成為更棒的程序員”的看法。即是你很少在商業(yè)項(xiàng)目上使用Scheme,但學(xué)習(xí)Scheme獲得的良好感覺將會(huì)指導(dǎo)你使用其它的編程語言。
網(wǎng)絡(luò)上的Scheme教程(真是多如牛毛)總是或多或少的有些困難,因而不太適合初學(xué)者。這樣來說的話,本教程是面向新手程序員的,他們只需要對編程有一點(diǎn)了解即可。
本教程的目標(biāo)讀者是僅有一點(diǎn)編程經(jīng)驗(yàn)的PC用戶,例如:
Scheme的語法相當(dāng)?shù)睾唵?,并且可以通過一個(gè)簡單的方式解釋清楚。盡管如此,對初學(xué)者來說這種解釋還是太困難了。在本教程中,我會(huì)循序漸進(jìn)地講解。
Scheme代碼僅由單詞,括號和空格組成,這些最初可能會(huì)使你感到煩擾。然而,如果你使用了一個(gè)合適的編輯器,它會(huì)為你展示配對的括號和自動(dòng)縮進(jìn)。因此,你不用擔(dān)心括號的配對,并且你可以通過縮進(jìn)來閱讀代碼。如果縮進(jìn)看起來很奇怪,你可以用編輯器找出錯(cuò)誤的配對。
這節(jié)是面向Windows用戶的教程。我沒有使用Macintosh的經(jīng)驗(yàn),因此無法提供給你相關(guān)的幫助。如果你是Unix(或者Linux)用戶,(如果你無法自己安裝)請讓管理員安裝它。Scheme的使用并不依賴于操作系統(tǒng)。只有安裝才會(huì)因不同的系統(tǒng)而不同。
Scheme程序設(shè)計(jì)語言中有一些規(guī)范,最新的規(guī)范在Revised5 Report on the Algorithmic Language Scheme (R5RS)。
大多數(shù)的實(shí)現(xiàn)都是(完全或者部分地)基于R5RS。如果你使用的是部分符合R5RS的實(shí)現(xiàn),那么在使用時(shí)你就得當(dāng)心一點(diǎn)。在Windows系統(tǒng)上有很多免費(fèi)的Scheme實(shí)現(xiàn),比如:ChezScheme, MzScheme, DrScheme, SCM。在本教程中,我使用MIT/GNU Scheme,因?yàn)樗咝Р⑶曳浅H菀装惭b。MIT-Scheme的解釋器十分快速,除此之外它還能夠?qū)⒛愕某绦蚓幾g為本地代碼。MIT-Scheme的問題就是它并不完全符合R5RS規(guī)范。稍后我會(huì)詳細(xì)說明這點(diǎn)。事實(shí)上,只有MIT-Scheme和DrScheme有安裝包。有人推薦DrScheme,但是它太慢了。如果你有手動(dòng)安裝軟件的能力,我推薦你安裝Petite Chez Scheme。這是一個(gè)運(yùn)行在命令提示符(DOS Windows)下的非常棒的解釋器。
《Scheme實(shí)現(xiàn)》比較了幾種Scheme實(shí)現(xiàn)。當(dāng)你習(xí)慣Scheme后,去嘗試幾種不同的實(shí)現(xiàn)將會(huì)是很好的主意。或許你需要一臺(tái)Linux機(jī)器,因?yàn)榇蠖鄶?shù)Scheme實(shí)現(xiàn)都是只能運(yùn)行在Unix和Linux上的。
MIT-Scheme可以簡單地通過下載并執(zhí)行安裝包來進(jìn)行安裝。
HOMEPATH
決定的。你可以通過在命令提示符(DOS Windows)中輸入>set HOMEPATH
來取得HOMEPATH
的值。在WinXP中,HOMEPATH
被預(yù)定義為:\Document and Setting\username
下面的代碼給出了一個(gè)scheme.ini文件的例子:
(cd "C:\\doc\\scheme")
(define call/cc call-with-current-continuation)
第一行代碼代表將工作目錄切換到C:\doc\scheme。通過這條代碼,MIT-Scheme移動(dòng)工作路徑切換到這個(gè)路徑,你不需要再敲擊程序的絕對路徑來載入Scheme程序。第二行是定義call-with-current-continuation
的縮略詞。
安裝非常容易(除了編輯scheme.ini文件),你應(yīng)該毫無問題。
下一章節(jié)是如何與MIT-Scheme前端會(huì)話。
更多建議: