最近、このファクターの紹介に出くわしましたが、私はもっと知りたいと思っています。そこに記載されている公式のFAQの他に、役立つと思った言語(および、スタックベースの「パラダイム」(正しい単語の場合))を学習するためのリソースはありますか?
ちなみに、Forthを学ぶことは役に立ちますか、それともCとPython(またはあなたは何を持っていますか)を比較するようなものですか?
最近、このファクターの紹介に出くわしましたが、私はもっと知りたいと思っています。そこに記載されている公式のFAQの他に、役立つと思った言語(および、スタックベースの「パラダイム」(正しい単語の場合))を学習するためのリソースはありますか?
ちなみに、Forthを学ぶことは役に立ちますか、それともCとPython(またはあなたは何を持っていますか)を比較するようなものですか?
Factor は、Forth やその他のスタック言語から大きな影響を受けています。また、Lisp や Smalltalk からもアイデアを取り入れています。私がオンラインで読んだことによると、Factor を学ぶ前にこれらの言語を学ぶ必要はありません。ただし、そうしても害はありません:)
私が遭遇した最大の問題は、言語の若々しさです。つまり、さまざまなブログやサイトのコード サンプルは古いバージョンの Factor (0.6、0.7、0.8 など) を使用しているため、古くなります。係数 0.9 以上は、同じままである可能性が最も高いです。
基本を理解すれば、ドキュメント (オンライン + リスナー内) はかなり明確になります。ドキュメントは、ブログの投稿と同じ問題に悩まされることがあります: いくつかの古いコード例です。本当に行き詰まった場合に役立つメーリング リスト/IRC がまだあります。
これまでのところ、メーリング リスト/IRC の代わりにドキュメントのみを使用してきました。次に、リスナーを試して、ドキュメントで見つけた新しい概念をさらに学習/探索します。
これは、関数のドキュメントを掘り下げるだけで私の質問のほとんどが答えられる最初の言語です。Factor のほとんどは Factor で書かれているため、ドキュメントを読む時間が長くなればなるほど、物事はより明確になります。
(私が経験した 2 番目に大きな問題は、Web フレームワーク (Furnace) を理解しようとすることです。Web フレームワークは、私が慣れ親しんでいるものよりも機能が豊富です。不可能なことではなく、ある程度の練習とドキュメントの調査が必要です。)
最速イントロ。私が見つけた連結言語へ: http://github.com/raganwald/homoiconic/blob/master/2008-11-16/joy.md#readme
Factor への最初のステップ: http://concatenative.org/wiki/view/Factor/Learning
以下のビデオでは、Factor コードの記述について詳しく説明しています。
いくつかの転用:
方向性を示すのに役立ついくつかのブログ投稿を次に示します。
利用可能なさまざまな抽象化とライブラリを理解することが、Factor を理解するための鍵となります: コレクション、一般的な単語、フライ、ローカル、マクロ、メモ化、PEG、prettyprinter など。これらのツールを効果的に使用することで、問題の解決に必要な作業量を 1 桁減らすことができます。
Factor は間違いなく最も楽しい言語です。他の言語よりも驚きが少ないです。Ruby や Lisp よりも学びやすいと思います。冗談として、Lisp と Factor の言語の銃撃戦を次に示します。
スタックベースの言語に興味がある人には、次の記事が役立つかもしれません: The Joy of Catenative Languages (Parts 1, 2, 3) (より一般的で、例として Cat 言語を使用しています。Factor の基本を学ぶのに役立ちました。)
ここから開始できます: http://concatenative.org/wiki/view/Factor
また、ランタイム/GUI にはすばらしいドキュメントが含まれています。インストールしてから「ブラウザ」を選択すると、「初めてのプログラム」などのトピックを含むドキュメントが表示されます。
ドキュメントはオンラインでも入手できます: http://docs.factorcode.org/
(これは、Factor をインストールしたときに得られるものと同じです)。
Planet-factorに登録することを忘れないでください。
私は最近、Factor を独学しています。実際、Forth は、スタック ベースの言語の概念へのこんにちはの紹介であることがわかりました (ソフトウェア考古学者として、数年前にさかのぼって歴史を学ぶのは楽しいことです)。
そのためには、 gforthや類似の Forth 実装をインストールするのに数時間かかっても害はないと思います。最初からANS を使用するための最初の数章を読み始める必要はありません。非常に興味深いと思いました。因数分解を学び始めたときに、忘れなければならなかったことは何も教えてくれませんでした。
Factor の学習が少し進んだら、役に立った (または役に立たなかった) ことをお知らせします。
Google での Slava Pestov の優れたプレゼンテーション " Factor: an extensible interactive language " (Google Tech Talk) は、Factor を学習するための優れたリソースと見なされます。Factor のさまざまな側面のデモが多数あり、システムで試すことができます。たとえば、Factor を使用してインターネット タイム サーバーを実装するデモ。1 時間 07 分 20 秒、字句閉鎖、46 分 35 秒。実際、プレゼンテーションのほとんどはデモです。
Flash ビデオは 141 MB、1 時間 36 分 38 秒、プレゼンテーション時間は 2008 年秋です。Slava Pestovは、Factor プログラミング言語と、人気のあるテキスト エディタである jEdit の作成者です。
Forth もスタックベースの言語であるため、Forth から始めることもできます。
(編集: 新しい git リポジトリへの Jonesforth リンクを更新 - 4/18/14)