Wie du Factor lernst

Ein Überblick, wie du mit Factor von Grund auf startest


Es gibt viele großartige Ressourcen, um Factor zu lernen.

  • Andrea Ferrettis Factor-Tutorial ist ein gründlicher Durchgang durch die Sprache, der von den Grundlagen des Stacks über Metaprogrammierung und verteiltes Rechnen bis hin zur Webentwicklung mit Furnace führt.

  • Factor in 2022 ist ein Vortrag von John Benediktsson und Doug Coleman aus dem Jahr 2022, der einen Rundgang durch die Sprache gibt und zeigt, wie es sich heute anfühlt, sie zu benutzen.

  • Thinking Forth von Leo Brodie ist ein Klassiker über die Designphilosophie und die Denkgewohnheiten hinter Forth. Factor ist nicht Forth, aber es erbt die concatenative, stackorientierte Denkweise, und Brodies Buch ist die beste Einführung in diese Art zu denken.

  • Factors Dokumentation ist fantastisch und umfangreich. Sie ist offline verfügbar, direkt aus dem GUI Listener oder auf der Kommandozeile durchsuchbar, und dieselbe durchsuchbare Doku gibt es auch online.

  • Björn Lindqvists playground-factor ist ein Repository voller interessanter Tipps und Tricks. Björn, einer der Entwickler von Factor, aktualisiert es nicht sehr oft, und es ist ein WIP (ein Großteil des Inhalts wird gerade in das GitHub-Wiki verschoben), aber es ist trotzdem sehr cooler Stoff.

  • Learn X in Y Minutes hat ein Factor-Tutorial. Es ist keineswegs umfangreich, aber eine gute Referenz und reicht, um loszulegen.

  • Rosetta Code: Factor ist Teil einer Programmier-Chrestomathie. Neben Hunderten anderer Sprachen gibt es dort Lösungen für viele Probleme in Factor, die du mit Sprachen vergleichen kannst, die du schon kennst. Das ist eine gute Referenz und ein Ausgangspunkt für eigene Lösungen.

Zum Schluss, und vielleicht am wenigsten wichtig:

  • Stack Overflow. Die Community ist nicht groß (na gut, ungefähr drei Nutzer, mich eingeschlossen), aber frag dort, wenn du wirklich absolut feststeckst, und jemand wird dir sicher weiterhelfen.

  • Die Mailingliste. Hier kannst du alles fragen, was mit Factor zu tun hat, und ein Mitwirkender wird dir hilfreich antworten.

  • Factor ist auf IRC! Komm zu uns, wir helfen dir gern.

  • Lerne und lies über Joy, Forth und concatenative bzw. stackbasierte Programmierung im Allgemeinen.

  • Lerne und lies über das Common Lisp Object System. Das CLOS gilt weithin als das fortschrittlichste und innovativste Objektmodell der Welt, und Factors Objektmodell basiert stark darauf und ist davon inspiriert.

  • In vielerlei Hinsicht ist Factor ein Lisp. Es ist ein postfixes, point-free-freies, funktionales, von innen nach außen und verkehrt herum komisch aussehendes Lisp, aber viele Ideologien sind dieselben. Deshalb kann es hilfreich sein, ein Lisp zu lernen, am besten ein Lisp-1, in dem Funktionen und Variablen einen gemeinsamen Namensraum teilen (weil Funktionen in der funktionalen Programmierung Werte sind). Meine Wenigkeit empfiehlt bescheiden Scheme oder, für etwas Moderneres und Praktischeres, Racket, einen Nachfahren von Scheme.

Zum Schluss: Factor ist fast vollständig in Factor geschrieben. Also lies den Quellcode und suche in der Doku nach Wörtern, die du nicht kennst.