2012-07-31 39 views
3

我有興趣探索像Forth(或Factor)這樣的基於堆棧的語言。我希望看到的是如何從頭開始構建應用程序,一步一步完成。我發現的教程是基本的,並沒有幫助我理解大局。想到在處理大量零件時如何管理堆棧很困惑。如何在Forth(或Factor)中編寫應用程序?

我一直認爲(也許錯了)學習語言的好方法就是用它來編寫一個Roguelike遊戲。我在試圖弄清楚如何在堆棧上玩弄很多東西:迷宮,數十種生物,寶藏,人物統計數據等。

回答

4

從某種意義上說,所有語言都是等價的;你通過將問題分解成更小的部分來編寫程序,然後將這些部分編碼並使它們一起工作。 Forth具有不尋常的語法特徵,但它仍然是一種編程語言。實際上,Forth在你的指尖上放置了很大的力量,就像Lisp一樣。在Lisp中,使用「宏」,你可以編寫自己的控制結構,它與內置任何東西一樣好;在第四,你可以做同樣的事情。

如果您有興趣瞭解更多關於第四,我建議你的經典書籍開始第四利奧·布羅迪第四思考。

哦!谷歌剛剛告訴我,這兩本書現在可以免費在線:

http://www.forth.com/starting-forth/

http://thinking-forth.sourceforge.net/

+0

我已經開始在那本書和喜歡它頗有幾分。也許我需要在發佈之前進一步瞭解它。 – Mario 2012-07-31 18:34:55

+0

這些書很好地教你如何使用Forth風格來分解問題。一個警告詞:那些寫在Forth往往沒有內置實際文件I/O的糟糕的過去的日子裏。在那些日子裏,Forth直接與磁盤設備直接對話是常見的,並且將磁盤視爲一系列1KB的存儲塊按編號尋址!磁盤上的第一個1KB塊是塊0,依此類推。每個1K塊被視爲16行64列,而Forth指南書教你如何將你的程序裝入這些「塊」中。現代Forths可能有文件支持! – steveha 2012-07-31 18:41:30

4

我想指給你Factor而不是純粹的Forth;有很多示例應用程序,圖形用戶界面,Web應用程序等。如果您對Web框架特別感興趣,請參閱Furnace

最終我不明白這個問題;基於堆棧的做法與完成任何事情有什麼關係?回到過去,嵌入式系統的選擇語言是;我寫下了從麥片拳擊機器人到計算器的一切......好吧,主要是一切。

相關問題