良好的学习资源

发布于 2024-07-10 04:02:53 字数 242 浏览 9 评论 0原文

最近看到Factor 简介,我有点好奇了解更多。 除了那里提到的官方常见问题解答之外,您是否有学习该语言(以及基于堆栈的“范式”,如果这是正确的词)的有用资源?

顺便说一句,学习 Forth 有帮助吗?或者这就像将 C 与 Python 进行比较(或者你有什么)?

Having recently come across this introduction to Factor, I've been a bit curious to learn more. Aside from the official FAQ mentioned there, do you have resources for learning the language (as well as the stack-based "paradigm," if that's the right word) that you've found helpful?

As a side note, would learning Forth help, or is that like comparing C to Python (or what have you)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

绳情 2024-07-17 04:02:53

Factor 深受 Forth 和其他堆栈语言的启发。 它还汲取了 Lisp 和 Smalltalk 的想法。 根据我在网上阅读的内容,在学习 Factor 之前没有必要学习任何这些语言。 不过,如果你这样做也没什么坏处:)

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

一旦你掌握了基础知识,文档(在线+听众中)就非常清晰了。 这些文档偶尔会遇到与博客文章相同的问题:一些过时的代码示例。 如果您真的遇到困难,您仍然可以使用邮件列表/IRC 来寻求帮助。

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

这是第一种仅通过深入研究函数文档就能回答我的大多数问题的语言。 Factor 的大部分内容都是用 Factor 编写的,因此当您花更多时间阅读文档时,事情会变得更加清晰。

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

)最快的介绍。 我发现的连接语言: http:// /github.com/raganwald/homoiconic/blob/master/2008-11-16/joy.md#readme

分解因子的第一步:http://concatenative.org/wiki/view/Factor/Learning

这些视频更详细地介绍了编写 Factor 代码:

  • 90 分钟的视频可能有助于学习 Factor 基础知识: YouTube:Factor:一种可扩展的交互式语言 - 基本上,Slava(Factor 创建者)提供了视频介绍。 到因子。 它是 Google Talk 系列的一部分。 (有一个高质量和低质量的版本,以防您看不到幻灯片。)因子概念也与其他语言进行了比较。
  • 13 分钟视频:Forth @ RubyConf 2008。 Forth 的简短演示。 它还提到了一些在软件世界中常见的想法。
  • 100 分钟视频:向 Lisp 程序员展示的因素。 音频不是最好的,但视频质量仍然非常好。 如果您观看其他视频,则可以跳过本视频的一些开头部分。

一些消遣:

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

理解可用的各种抽象和库是掌握 Factor 的关键:集合、通用词、fry、局部变量、宏、记忆、PEG、prettyprinter 等等。 有效利用这些工具可以将解决问题所需的工作量减少一个数量级。

Factor绝对是最好玩的语言。 与其他语言相比,它的惊喜较少。 我发现它比 Ruby 或 Lisp 更容易学习。 只是为了好玩,这里有一场 Lisp 和 Factor 之间的语言大战:

对于任何对基于堆栈的语言感兴趣的人,本文可能会有所帮助:串联语言的乐趣(第 1、2、3 部分) (它更通用,并使用 Cat 语言作为示例。它帮助我学习了 Factor 基础知识。)

Factor is heavily inspired by Forth and other stack languages. It also grabs ideas from Lisp, and Smalltalk. From what I've read online, it's not necessary to learn any of those language before learning Factor. It won't hurt if you do, however :)

The biggest problems I've run into is the youthfulness of the language. In other words, code samples on various blogs/sites will be outdated because they used older versions of Factor (0.6, 0.7, 0.8, etc). Factor 0.9 and above are most likely to remain the same.

Once you get past the basics, the docs (online + in the listener) are pretty clear. The docs occasionally suffer from the same problem as blog posts: some outdated code examples. You still have the mailing lists/IRC to help out if you really get stuck.

I've only used the docs so far, instead of the mailing lists/IRC. I then experiment with the listener to further learn/explore a new concept I find in the docs.

This is the first language where most of my questions are answered just by digging into the docs of a function. Most of Factor is written in Factor, so things become clearer as you spend more time with the docs.

(The 2nd biggest problem I've had is trying to understand the web framework (Furnace). The web framework is more feature-rich that what I am used to. It's nothing impossible, just requires some practice and exploring the docs.)

The quickest intro. to concatenative languages I've found: http://github.com/raganwald/homoiconic/blob/master/2008-11-16/joy.md#readme

Your first steps to Factor: http://concatenative.org/wiki/view/Factor/Learning

These videos go into more detail regarding writing Factor code:

  • 90 minute video might help learning Factor basics: YouTube: Factor: An extensible, interactive Language - Basically, Slava (Factor creator) gives a video intro. to Factor. It's part of the Google Talk series. (There is a high and low quality version in case you can't see the slides.) Factor concepts are also compared to other languages.
  • 13 minute video: Forth @ RubyConf 2008. A brief demo of Forth. It also mentions some ideas that are common throughout the software world.
  • 100 minute video: Factor presented to Lisp programmers. Audio is not the best, but still very good video quality. If you watch the other videos, you can skip some of the beginning parts of this.

Some diversions:

Here are some blog posts that can help provide direction:

Understanding the various abstractions and libraries which are available is key to grasping Factor: collections, generic words, fry, locals, macros, memoization, PEGs, the prettyprinter, and so on. Making effective use of these tools can reduce the amount of work required to solve a problem by an order of magnitude.

Factor is definitely the most fun language. It has fewer surprises than other languages. I find it easier to learn than Ruby or Lisp. Just for fun, here is a language shootout between Lisp and Factor:

For anyone who is interested in stack-based languages, this article might help: The Joy of Catenative Languages (Parts 1, 2, 3) (It's more general and uses the Cat language for examples. It helped me with learning Factor basics.)

比忠 2024-07-17 04:02:53

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

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

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

不要忘记订阅 planet-factor

You can start here: http://concatenative.org/wiki/view/Factor

And there's a nice documentation included in the runtime/GUI. Just install and then "Browser" and you see the documentation with topics like "Your first program".

The documentation is available online, too: http://docs.factorcode.org/
(It's the same as the one you get when you install Factor.)

Don't forget to subscribe to planet-factor.

葬花如无物 2024-07-17 04:02:53

我认为 Slava Pestov 的精彩演讲“因素:
可扩展的交互语言
”在 Google (Google Tech
Talk)算作学习因素的良好资源。 那里
有很多关于 Factor 不同方面的演示
您应该能够在您的系统上尝试。 例如
使用 Factor 实现 Internet 时间的演示
服务器,大约。 1 小时 07 分 20 秒和词汇闭包,46
分钟 35 秒 事实上,大部分演示都是演示。

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

I think Slava Pestov's excellent presentation "Factor: an
extensible interactive language
" at Google (Google Tech
Talk) counts as a good resource for learning Factor. There
are lots of demos of the different aspects of Factor that
you should be able to try on your system. For instance the
demo of using Factor for implementing an Internet time
server, approx. 1 h 07 min 20 secs and lexical closures, 46
min 35 secs. In fact most of the presentation is a demo.

The Flash video is 141 MB, 1 h 36 min 38 secs, presentation time
autumn 2008. Slava Pestov is the creator of the Factor
programming language and jEdit, a popular text editor.

无法回应 2024-07-17 04:02:53

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

为此,我认为花几个小时安装 gforth 或类似的 Forth 实现,并开始完成 开始使用 ANS forth - 我发现它很有趣,因为我只是浅尝辄止,但它并没有'当我开始学习因素时,它教会了我必须忘记的任何东西。

一旦我在学习因素方面取得了进一步的进展,我会让你知道我发现什么有用(或不太有用!)。

I've been teaching myself Factor recently - I actually found Forth as a good afternoon's introduction to the concept of stack based languages (and as a bit of a software archaeologist, it's fun to step back a few years for a history lesson).

To that end I don't think it does any harm to take a few hours to install gforth or similar Forth implementation and start working through the first few chapters of starting forth or using ANS forth - I found it quite interesting, and because I only dipped my toe it hasn't taught me anything I've had to unlearn as I'm starting to learn factor.

Once I've progressed a little further in learning Factor I'll let you know what I've found useful (or not so useful!).

め七分饶幸 2024-07-17 04:02:53

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

  • 出发
  • 思考
  • Forth 入门
  • Forth 语言< /a>
  • 第四个教程
  • Pforth 教程
  • Gforth 手册
  • 开始前进
  • 第四个链接
  • WikiForth
  • OLPC Forth
  • < a href="http://home.iae.nl/users/mhx/crenshaw/tiny.html" rel="nofollow">让我们构建一个编译器
  • 琼斯福斯
  • (编辑:更新了 Jonesforth 链接到新的 git 存储库 - 4/18/14)

    You could also start with Forth since it's a stack based language too:

  • 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
  • (Edit: updated Jonesforth Link to new git repository - 4/18/14)

    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文