第一章 安裝MIT-Scheme

2021-07-27 15:38 更新

1.1 為什么使用Scheme

使用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)檫@門語言:

  • 設(shè)計(jì)緊湊
  • 語法簡單

業(yè)界大牛提出過“Scheme使你成為更棒的程序員”的看法。即是你很少在商業(yè)項(xiàng)目上使用Scheme,但學(xué)習(xí)Scheme獲得的良好感覺將會(huì)指導(dǎo)你使用其它的編程語言。

網(wǎng)絡(luò)上的Scheme教程(真是多如牛毛)總是或多或少的有些困難,因而不太適合初學(xué)者。這樣來說的話,本教程是面向新手程序員的,他們只需要對編程有一點(diǎn)了解即可。

1.2 目標(biāo)讀者

本教程的目標(biāo)讀者是僅有一點(diǎn)編程經(jīng)驗(yàn)的PC用戶,例如:

  • 教授使用Scheme授課,無法跟上進(jìn)度的學(xué)生。
  • 想要學(xué)習(xí)編程的人。

Scheme的語法相當(dāng)?shù)睾唵?,并且可以通過一個(gè)簡單的方式解釋清楚。盡管如此,對初學(xué)者來說這種解釋還是太困難了。在本教程中,我會(huì)循序漸進(jìn)地講解。

Scheme代碼僅由單詞,括號和空格組成,這些最初可能會(huì)使你感到煩擾。然而,如果你使用了一個(gè)合適的編輯器,它會(huì)為你展示配對的括號和自動(dòng)縮進(jìn)。因此,你不用擔(dān)心括號的配對,并且你可以通過縮進(jìn)來閱讀代碼。如果縮進(jìn)看起來很奇怪,你可以用編輯器找出錯(cuò)誤的配對。

1.3 安裝MIT-Scheme

這節(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上的。

1.3.1 如何在Windows上安裝MIT-Scheme

MIT-Scheme可以簡單地通過下載并執(zhí)行安裝包來進(jìn)行安裝。

  1. 訪問MIT/GNU Scheme的主頁,下載適用于Windows的二進(jìn)制包: mit-scheme-N.N.N-ix86-win32.exe。
  2. 雙擊下載好的安裝包。安裝包會(huì)詢問一些事項(xiàng),按照默認(rèn)的設(shè)置進(jìn)行即可。
  3. 安裝完畢后,有4個(gè)快捷方式被創(chuàng)建出來,分別是:Scheme,Compiler,Edwin和Documentation。Scheme,Compiler和Edwin都是指向同一個(gè)程序的快捷方式,但它們調(diào)用程序的參數(shù)不同。使用Compiler,你可以把程序編譯為本地代碼,這樣可使你的程序運(yùn)行時(shí)間更短。但反過來說,Compiler會(huì)消耗更多的內(nèi)存。Edwin是一個(gè)類Emacs的編輯器,用于編輯Scheme程序。你可以使用這個(gè)編輯器或者你最喜歡的編輯器。
  4. 你可以通過編輯配置文件scheme.ini來自定義MIT-Scheme。 scheme.ini文件的創(chuàng)建路徑是由環(huá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的縮略詞。

1.4 小結(jié)

安裝非常容易(除了編輯scheme.ini文件),你應(yīng)該毫無問題。

下一章節(jié)是如何與MIT-Scheme前端會(huì)話。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號