从零开始上手 Factor 的概览
学习 Factor 有很多很棒的资源。
Andrea Ferretti 的 Factor 教程 全面讲解了这门语言,从栈的基础知识,一直讲到元编程、分布式计算,以及用 Furnace 做 Web 开发。
Factor in 2022 是 John Benediktsson 和 Doug Coleman 在 2022 年做的一场演讲,带你浏览这门语言,以及今天使用它的感受。
Leo Brodie 的 Thinking Forth 是讲 Forth 背后的设计哲学和思维习惯的经典之作。Factor 不是 Forth,但它继承了拼接式、面向栈的思维方式,而 Brodie 的这本书正是了解这种思维方式的最佳入门。
Factor 的文档 非常出色,内容也很丰富。它可以离线使用,能直接在 GUI Listener 里或命令行上搜索,同样的可搜索文档在网上也能找到。
Björn Lindqvist 的 playground-factor 是一个装满有趣技巧和小窍门的代码仓库。Björn 是 Factor 的开发者之一,他更新得不太频繁,这个仓库还处在 WIP 状态(其中很多内容正在迁移到 GitHub Wiki),但里面的东西仍然非常酷。
Learn X in Y Minutes 上有一份 Factor 教程。它绝对算不上详尽,但作为参考资料很不错,足够帮你入门。
Rosetta Code: Factor 是一个编程范文集网站的一部分。在数百种其他语言之间,它收录了用 Factor 解决许多问题的方案,你可以拿它们和你已经掌握的语言作对比,是很好的参考,也是解题的起点。
最后,也许也是最不重要的一点:
Stack Overflow。那里的社区不大(好吧,加上本人大概也就三个用户),但如果你真的、实在卡住了,去那里提问,肯定会有人帮你。
邮件列表。在这里,你可以问任何和 Factor 相关的问题,会有协作者热心地解答。
Factor 在 IRC 上!快来加入我们,我们很乐意帮忙。
学习和了解 Common Lisp Object System。CLOS 被广泛认为是世界上最先进、最具创新性的对象模型,Factor 的对象模型也在很大程度上以它为基础,并受到它的启发。
在很多方面,Factor 就是一种 Lisp。它是一种后缀式、无点风格、函数式、里外颠倒、模样古怪的 Lisp,但很多理念是一样的。因此,学一门 Lisp 可能会有帮助,最好是一门 Lisp-1,即函数和变量共享同一个命名空间的 Lisp(因为在函数式编程里,函数也是值)。本人斗胆推荐 Scheme,或者如果你想要更现代、更好用的东西,可以看看 Racket,它是 Scheme 的后代。
最后,Factor 几乎完全是用 Factor 写的。所以,去读它的源代码吧,遇到不认识的词就在文档里搜索。