[TOC=2]
## 1.1?為什么使用Scheme
使用Scheme,你可以:
* 編寫漂亮的程序。
* 享受編程的樂趣。
這些就是為什么要學習Scheme的原因。在你用Scheme編寫一些實用程序的時候會遇到一些困難。
然而,正因為這是一門值得學習的語言,所以許多卓越的黑客鐘愛Scheme。事實上,計算機程序的構造和解釋(Structure and Interpretation of Computer Programs,SICP)——最好的計算機科學教科書之一——使用Scheme來描述演示程序。GNU也使用Scheme(一種被稱作guile的實現)作為其應用軟件的通用腳本語言。guild相當于MS-Word或者Excel(原文是Excell,應該是作者的筆誤,譯者注)中的宏。它被用來通過簡單的腳本來操作應用程序。
盡管Common Lisp更加適合構建實用應用程序,但我依然推薦你首先學習Scheme,因為這門語言:
* 設計緊湊
* 語法簡單
業界大牛提出過“Scheme使你成為更棒的程序員”的看法。即是你很少在商業項目上使用Scheme,但學習Scheme獲得的良好感覺將會指導你使用其它的編程語言。
網絡上的Scheme教程(真是多如牛毛)總是或多或少的有些困難,因而不太適合初學者。這樣來說的話,本教程是面向新手程序員的,他們只需要對編程有一點了解即可。
## 1.2?目標讀者
本教程的目標讀者是僅有一點編程經驗的PC用戶,例如:
* 教授使用Scheme授課,無法跟上進度的學生。
* 想要學習編程的人。
Scheme的語法相當地簡單,并且可以通過一個簡單的方式解釋清楚。盡管如此,對初學者來說這種解釋還是太困難了。在本教程中,我會循序漸進地講解。
Scheme代碼僅由單詞,括號和空格組成,這些最初可能會使你感到煩擾。然而,如果你使用了一個合適的編輯器,它會為你展示配對的括號和自動縮進。因此,你不用擔心括號的配對,并且你可以通過縮進來閱讀代碼。如果縮進看起來很奇怪,你可以用編輯器找出錯誤的配對。
## 1.3?安裝MIT-Scheme
這節是面向Windows用戶的教程。我沒有使用Macintosh的經驗,因此無法提供給你相關的幫助。如果你是Unix(或者Linux)用戶,(如果你無法自己安裝)請讓管理員安裝它。Scheme的使用并不依賴于操作系統。只有安裝才會因不同的系統而不同。
Scheme程序設計語言中有一些規范,最新的規范在Revised5?Report on the Algorithmic Language Scheme (R5RS)。
大多數的實現都是(完全或者部分地)基于R5RS。如果你使用的是部分符合R5RS的實現,那么在使用時你就得當心一點。在Windows系統上有很多免費的Scheme實現,比如:ChezScheme,?MzScheme,?DrScheme,?SCM。在本教程中,我使用MIT/GNU Scheme,因為它高效并且非常容易安裝。MIT-Scheme的解釋器十分快速,除此之外它還能夠將你的程序編譯為本地代碼。MIT-Scheme的問題就是它并不完全符合R5RS規范。稍后我會詳細說明這點。事實上,只有MIT-Scheme和DrScheme有安裝包。有人推薦DrScheme,但是它太慢了。如果你有手動安裝軟件的能力,我推薦你安裝Petite Chez Scheme。這是一個運行在命令提示符(DOS Windows)下的非常棒的解釋器。
《Scheme實現》比較了幾種Scheme實現。當你習慣Scheme后,去嘗試幾種不同的實現將會是很好的主意。或許你需要一臺Linux機器,因為大多數Scheme實現都是只能運行在Unix和Linux上的。
### 1.3.1?如何在Windows上安裝MIT-Scheme
MIT-Scheme可以簡單地通過下載并執行安裝包來進行安裝。
1. 訪問MIT/GNU Scheme的主頁,下載適用于Windows的二進制包:?mit-scheme-N.N.N-ix86-win32.exe。
2. 雙擊下載好的安裝包。安裝包會詢問一些事項,按照默認的設置進行即可。
3. 安裝完畢后,有4個快捷方式被創建出來,分別是:Scheme,Compiler,Edwin和Documentation。Scheme,Compiler和Edwin都是指向同一個程序的快捷方式,但它們調用程序的參數不同。使用Compiler,你可以把程序編譯為本地代碼,這樣可使你的程序運行時間更短。但反過來說,Compiler會消耗更多的內存。Edwin是一個類Emacs的編輯器,用于編輯Scheme程序。你可以使用這個編輯器或者你最喜歡的編輯器。
4. 你可以通過編輯配置文件scheme.ini來自定義MIT-Scheme。 scheme.ini文件的創建路徑是由環境變量`HOMEPATH`決定的。你可以通過在命令提示符(DOS Windows)中輸入`>set HOMEPATH`來取得`HOMEPATH`的值。在WinXP中,`HOMEPATH`被預定義為:`\Document and Setting\username`
下面的代碼給出了一個scheme.ini文件的例子:
~~~
(cd "C:\\doc\\scheme")
(define call/cc call-with-current-continuation)
~~~
第一行代碼代表將工作目錄切換到C:\doc\scheme。通過這條代碼,MIT-Scheme移動工作路徑切換到這個路徑,你不需要再敲擊程序的絕對路徑來載入Scheme程序。第二行是定義`call-with-current-continuation`的縮略詞。
## 1.4?小結
安裝非常容易(除了編輯scheme.ini文件),你應該毫無問題。
下一章節是如何與MIT-Scheme前端會話。