良好的学习资源因素

时间:2008-12-02 07:38:08

标签: factor-lang

最近遇到this introduction to Factor,我有点好奇了解更多信息。除了那里提到的官方常见问题解答之外,你是否有资源学习这门语言(以及基于堆栈的“范例”,如果这是正确的词),你发现它有用吗?

作为旁注,会学习Forth帮助,还是将C与Python(或者你有什么)进行比较?

6 个答案:

答案 0 :(得分:27)

因素受到Forth和其他堆栈语言的启发。它还抓住了Lisp和Smalltalk的想法。从我在网上看到的,在学习因子之前没有必要学习任何这些语言。如果你这样做,它不会受到伤害,但是:)

我遇到的最大问题是语言的年轻。换句话说,各种博客/网站上的代码示例将过时,因为它们使用旧版本的因子(0.6,0.7,0.8等)。因子0.9及以上最有可能保持不变。

一旦你完成了基础知识,那么文档(在线+在听众中)就非常清楚了。这些文档偶尔会遇到与博客文章相同的问题:一些过时的代码示例。如果你真的遇到困难,你仍然有邮件列表/ IRC来帮助你。

到目前为止,我只使用过文档,而不是邮件列表/ IRC。然后我试验听众进一步学习/探索我在文档中找到的新概念。

这是第一种通过深入研究函数文档来回答大部分问题的语言。大部分因子都是用因子编写的,所以当你花更多时间在文档上时,事情会变得更加清晰。

(我遇到的第二大问题是试图理解网络框架(熔炉)。网络框架比我习惯的功能更丰富。这不是什么不可能,只需要一些练习和探索文档。)

最快的介绍。我找到的连接语言: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。音频不是最好的,但仍然是非常好的视频质量。如果您观看其他视频,则可以跳过此部分的一些开头部分。

一些转移:

以下是一些可以帮助提供方向的博客文章:

  

了解可用的各种抽象和库是掌握因子的关键:集合,通用词,鱼苗,本地,宏,memoization,PEG,prettyprinter等等。有效利用这些工具可以将解决问题所需的工作量减少一个数量级。

因素绝对是最有趣的语言。它比其他语言更少惊喜。我发现它比Ruby或Lisp更容易学习。只是为了好玩,这是Lisp和Factor之间的语言枪战:

对于任何对基于堆栈的语言感兴趣的人,本文可能会有所帮助:The Joy of Catenative Languages (Parts 1, 2, 3)(它更通用,并使用Cat语言作为示例。它帮助我学习了因子基础知识。)

答案 1 :(得分:6)

您可以从这里开始:http://concatenative.org/wiki/view/Factor

运行时/ GUI中包含了很好的文档。只需安装然后“浏览器”,您就可以看到包含“您的第一个程序”等主题的文档。

该文档也可在线获取:http://docs.factorcode.org/
(它与安装Factor时获得的相同。)

不要忘记订阅planet-factor

答案 2 :(得分:4)

我最近一直在教自己的因素 - 我实际上发现Forth是一个很好的下午对基于堆栈的语言概念的介绍(作为一个软件考古学家的一点,回顾历史课几年是很有趣的)。

为此,我认为花几个小时安装gforth或类似的Forth实施并开始处理starting forth或{{3}的前几章是不会有任何损害的} - 我发现它非常有趣,因为我只是舔了舔脚趾,因为我开始学习因素,所以我没有教会任何东西。

一旦我在学习因素方面取得了一些进步,我会告诉你我发现有用的东西(或者没那么有用!)。

答案 3 :(得分:4)

我认为Slava Pestov在Google(谷歌技术专家)的精彩演讲“Factor: an extensible interactive language” Talk)是学习因素的良好资源。那里 有许多因素的不同方面的演示 你应该能够尝试你的系统。比如说 使用Factor实现Internet时间的演示 服务器,约。 1小时07分20秒和词汇封闭,46 最少35秒。事实上,大多数演示都是演示。

Flash视频为141 MB,1小时36分38秒,演示时间 2008年秋季。Slava Pestov是因素的创造者 编程语言和jEdit,一种流行的文本编辑器。

答案 4 :(得分:3)

你也可以从Forth开始,因为它也是基于堆栈的语言:

  • Starting Forth
  • Thinking Forth
  • Forth Primer
  • Forth Language
  • Forth Tutorials
  • Pforth Tutorial
  • Gforth Manual
  • Begin Forth
  • Forth Links
  • WikiForth
  • OLPC Forth
  • Lets Build a Compiler
  • Jones Forth
  • (编辑:更新的Jonesforth链接到新的git存储库 - 2014年4月18日)

    答案 5 :(得分:1)

    我希望我的互动工具有助于http://factor.openeducationtools.com