2008-12-02 241 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的,一个流行的文本编辑器的创造者。