Pages

Tuesday, October 24, 2006

pForth Tutorial 中譯

前幾天不曉得吃錯什麼藥,卯起來把 pForth 作者寫的教學文件翻譯了一下,努力了兩個晚上,已經把主要的部份譯完了,剩下問題的部份就隨緣吧。取得原作者同意後,我把中譯版放在 這裡,翻譯的語句也許不夠流暢,請大家多多指教。

pForth 是 Forth 的實作之一。Forth 這個語言的與眾不同,第一印象大概就是少見的後置式語法 (Reverse Polish Notation) 吧,另外就是大量依賴 stack 的運算。我很喜歡接觸新的工具,但我到目前為止也只知道 Forth 的近親 PostScript 有相同的語法和以 stack 為主的核心,在其他語言的確是很少見。而以 forth 開發的產品也不多,我知道的大概就是 Open FirmwareFreeBSDboot loader、以及過去在 DOS/Win3.1 時代很有名的中文軟體 CView

會接觸 Forth,是大學時代在學 x86/51 asm 的時候看了一些介紹文章,才開始陸續接觸這個程式語言。一開始只是因為它看起來比 asm 簡單,再加上奇特的語法很吸引人,就找了工具和書來練習。也許是對這種東西沒天份吧,再加上中文資料又少,一開始碰了不少壁又找不到人可以討論,久而久之就擺到一旁去了。不過 Forth 的神話讓我對它一直念念不忘,所以有事沒事還是會找出來玩一下,只是功力一直沒進步就是了。

為什麼我為挑這篇來翻譯呢?事實上 Forth 的中文文章不能說是沒有,甚至也有一些中文書 (12) 開放下載,但是這些文件雖然內容完整,卻不太適合初學者或只是單純想試試 Forth 的使用者,恐怕還沒被 Forth 的內涵吸引就先被嚇跑了。而 Phil Burk 寫的這篇教學雖然簡短,甚至連 return stack 都沒提到,但編排內容與提供的幾個範例很適合作為 quick tutorial 使用。只要照著做一次,就能快速體驗 Forth 程式的撰寫,因此我很推薦這篇作為入門文章。至於要深入探討 Forth 的歷史背景、完整特性、甚至是精神層次的思維,這已經超出我的能力範圍了,事實上我也未曾把 Forth 作為我的主要工具,只是希望透過學習 Forth 的過程中,獲得一點不一樣的東西;至於未來會不會使用 Forth 來工作,我並不是很在意,也不是我學 Forth 的目的了。

雖然我這篇文章的本意只是在廣告我翻譯的文章,但看起來卻像是在介紹 Forth 這個東西。如果有人因此對 Forth 感興趣,在此推薦幾篇介紹性的文章:

如果需要更多資料,可以試試 Forth Interest Group (FIG)


This article was originally posted on this site.

4 comments:

  1. good work!
    I like Forth,and I think JAVA virtual machine may be a Forth machine.

    ReplyDelete
  2. [...] 之前因為一時興起翻譯了一篇forth教學文件,今天不小心在 HEMiDEMi 看到有人收藏了。第一個感想是:原來寫 blog 真的有人會看耶XD 事實上關於這篇譯文,我並沒有刻意要打廣告,因此只在自己的 BBS 個人板和 Blog 上發佈了簡短的消息。雖然無心做推廣的工作,但如果有人因為這篇譯文而認識 forth,而且也覺得這是個有趣的東西的話,那我也會很高興的。 [...]

    ReplyDelete
  3. http://tutor.ksana.tw/ksanavm/
    Forth 虛擬機的互動式多媒體教學,參考看看。

    ReplyDelete
  4. yap:
    正在拜讀中,感謝提供這麼詳細的教學,希望有更多人透過它瞭解 forth vm (不介意我把它加到我整理的清單吧:D)

    ReplyDelete