2008-12-02 410 views
27

最近遇到this introduction to Factor,我一直有點好奇,想了解更多。除了在那裏提到的官方FAQ,你是否有資源學習語言(以及基於堆棧的「範式」,如果這是正確的話),你發現有幫助嗎?作爲一個側面說明,會學習Forth的幫助,還是像比較C到Python(或你有什麼)?良好的學習資源因子

回答

6

你可以從這裏開始:http://concatenative.org/wiki/view/Factor

而且有包含在運行時/ GUI一個很好的文檔。只需安裝,然後「瀏覽器」,你會看到與「你的第一個程序」主題相關的文檔。

的文檔可在網上,太:http://docs.factorcode.org/
(這是一樣的,當你安裝因子你得到一個。)

不要忘記訂閱planet-factor

+0

這些以及下面Peter Mortensen引用的Google Tech Talk視頻。 – semperos 2010-09-01 18:26:35

4

我一直在教我自己因素最近 - 我實際上發現了Forth作爲一個下午的基於堆棧的語言概念的介紹(作爲一個軟件考古學家的一點,它有趣的退一步幾年的歷史課)。

爲此,我不認爲它不會造成任何傷害需要幾個小時來安裝gforth或類似的第四實施和啓動通過starting forthusing ANS forth前幾章的工作 - 我覺得這是很有趣的,因爲我只是蘸了我的腳趾,它沒有教我任何我不得不忘記的東西,因爲我開始學習因素。

一旦我在學習因子方面取得了一些進展,我會讓你知道我發現有用的東西(或不是很有用!)。

27

因子深受Forth和其他堆棧語言的啓發。它也吸取了來自Lisp和Smalltalk的想法。從我在線閱讀的內容來看,在學習因子之前沒有必要學習任何這些語言。它不會傷害,但是如果你這樣做:)

我遇到的最大的問題是語言的年輕性。換句話說,各種博客/網站上的代碼示例將因爲使用較舊版本的因子(0.6,0.7,0.8等)而過時。因子0.9及以上最有可能保持不變。

一旦你通過基礎知識,文檔(在線+在聽衆中)非常清晰。文檔有時會遇到與博客文章相同的問題:一些過時的代碼示例。如果你真的陷入困境,你仍然有郵件列表/ IRC幫忙。

我只使用到目前爲止的文檔,而不是郵件列表/ IRC。然後,我嘗試與聽衆進一步學習/探索我在文檔中找到的新概念。

這是第一種語言,我的大部分問題都是通過挖掘函數的文檔來回答的。 Factor的大部分都是用Factor編寫的,所以隨着您花更多時間處理文檔,事情會變得更加清晰。 (我遇到過的第二大問題是試圖理解Web框架(爐子),Web框架功能豐富,我已經習慣了,這不是不可能的,只需要一些練習和探索文檔)

最快的介紹。以拼接的語言,我發現:http://github.com/raganwald/homoiconic/blob/master/2008-11-16/joy.md#readme

你的第一個步驟因素:http://concatenative.org/wiki/view/Factor/Learning

這些影片進入更詳細關於寫作因子代碼:

  • 90分鐘視頻可以幫助學習的基本因素: YouTube: Factor: An extensible, interactive Language - 基本上,Slava(因素創造者)給出了一個視頻介紹。到因子。它是Google Talk系列的一部分。 (如果無法看到幻燈片,則有高質量和低質量的版本。)因素概念也與其他語言進行比較。
  • 13分鐘視頻:Forth @ RubyConf 2008。 Forth的簡短演示。它還提到了一些在整個軟件世界都很常見的想法。
  • 100分鐘視頻:Factor presented to Lisp programmers。音頻不是最好的,但仍然非常好的視頻質量。如果您觀看其他視頻,則可以跳過本文的一些開始部分。

一些改道:

這裏有一些博客帖子,可以幫助提供方向:

理解可用的各種抽象和庫是掌握因子的關鍵:集合,通用詞彙,魚苗,當地人,宏,記憶,PEG,漂亮打印機等等。有效使用這些工具可以將解決問題所需的工作量減少一個數量級。

因子絕對是最有趣的語言。它比其他語言的驚喜少。我發現比Ruby或Lisp更容易學習。只是爲了好玩,這裏是Lisp和要素之間的語言槍戰:

對於任何人誰是有興趣在基於堆棧的語言,這篇文章可能會有所幫助:The Joy of Catenative Languages (Parts 1, 2, 3)(這是更通用,並使用貓語言爲例,它幫助我學習因子基礎知識。)

4

我認爲斯拉娃佩斯托夫在Google(Google T)上的精彩演講「Factor: an extensible interactive language」談話)是學習因子的良好資源。有 是大量的因素的不同方面的演示, 你應該能夠在你的系統上嘗試。例如 演示使用因子實現互聯網時間 服務器,約。 1小時07分20秒和詞彙關閉,46分鐘 分鐘35秒。實際上,大部分演示文稿都是演示文稿。

的Flash視頻是141 MB,1小時36分38秒,呈現時間 2008年秋季Slava Pestov是因子 編程語言和jEdit的,一個流行的文本編輯器的創造者。