最近遇到了这个关于Factor的介绍,我有点好奇了解更多.除了那里提到的官方常见问题解答之外,你是否有资源学习这门语言(以及基于堆栈的"范例",如果这是正确的话),你发现它有用吗?
作为旁注,会学习Forth帮助,还是将C与Python(或者你有什么)进行比较?
Factor受到Forth和其他堆栈语言的启发.它还抓住了Lisp和Smalltalk的想法.从我在网上看到的,在学习因子之前没有必要学习任何这些语言.如果你这样做,它不会受到伤害,但:)
我遇到的最大问题是语言的年轻.换句话说,各种博客/网站上的代码示例将过时,因为它们使用旧版本的因子(0.6,0.7,0.8等).因子0.9及以上最有可能保持不变.
一旦你完成了基础知识,那么文档(在线+在听众中)就非常清楚了.这些文档偶尔会遇到与博客文章相同的问题:一些过时的代码示例.如果你真的遇到困难,你仍然有邮件列表/ IRC来帮助你.
到目前为止我只使用了文档,而不是邮件列表/ IRC.然后我试验听众进一步学习/探索我在文档中找到的新概念.
这是第一种通过深入研究函数文档来解答我的大部分问题的语言.大部分因子都是用因子编写的,所以当你花更多时间在文档上时,事情会变得更加清晰.
(我遇到的第二大问题是试图了解Web框架(Furnace).Web框架比我习惯的功能更丰富.这不是什么不可能,只需要一些练习和探索文档.)
最快的介绍.我找到的连接语言:http://github.com/raganwald/homoiconic/blob/master/2008-11-16/joy.md#readme
您的第一步因素:http://concatenative.org/wiki/view/Factor/Learning
这些视频详细介绍了编写因子代码:
90分钟的视频可能有助于学习因子基础知识:YouTube:因素:可扩展的交互式语言 - 基本上,Slava(因子创建者)提供视频介绍.因素.它是Google Talk系列的一部分.(如果您看不到幻灯片,则有高质量和低质量的版本.)因子概念也与其他语言进行比较.
13分钟视频:Forth @ RubyConf 2008.Forth的简短演示.它还提到了一些在整个软件世界中都很常见的想法.
100分钟视频:提交给Lisp程序员的因素.音频不是最好的,但仍然是非常好的视频质量.如果您观看其他视频,则可以跳过此部分的一些开头部分.
一些转移:
创建一个计算器+ GUI:http://re-factor.blogspot.com/2010/08/calculator-with-gui.html
"为什么我喜欢因素":http://jedahu.blogspot.com/2010/08/why-i-like-factor.html
行星因素:http://planet.factorcode.org/
以下是一些可以帮助提供方向的博客文章:
从2008年1月起,它应该仍然适用:Daniel Ehrenberg的"学习因素"(他是核心因子贡献者之一.)
以下引用来自2008年9月的博文:使用嵌入数字对字符串进行排序
了解可用的各种抽象和库是掌握因子的关键:集合,通用词,鱼苗,本地,宏,memoization,PEG,prettyprinter等等.有效利用这些工具可以将解决问题所需的工作量减少一个数量级.
因素绝对是最有趣的语言.它比其他语言更少惊喜.我发现它比Ruby或Lisp更容易学习.只是为了好玩,这是Lisp和Factor之间的语言枪战:
Lisp代码
因子代码
对于任何对基于堆栈的语言感兴趣的人,本文可能会有所帮助:Catenative Languages的喜悦(第1,2,3部分)(它更通用,并使用Cat语言作为示例.它帮助我学习因子基础知识.)
你可以从这里开始:http://concatenative.org/wiki/view/Factor
并且运行时/ GUI中包含了很好的文档.只需安装然后"浏览器",您就会看到包含"您的第一个程序"等主题的文档.
该文档也可在线获取:http://docs.factorcode.org/
(它与安装Factor时获得的文档相同.)
不要忘记订阅行星因素.