Come imparare Factor

Una panoramica su come iniziare da zero con Factor


Ci sono molte ottime risorse per imparare Factor.

  • Il tutorial su Factor di Andrea Ferretti è un percorso completo attraverso il linguaggio: parte dalle basi dello stack e arriva alla metaprogrammazione, al calcolo distribuito e allo sviluppo web con Furnace.

  • Factor in 2022 è un intervento del 2022 di John Benediktsson e Doug Coleman che offre una panoramica del linguaggio e di come sia usarlo oggi.

  • Thinking Forth di Leo Brodie è un classico sulla filosofia di progettazione e sulle abitudini mentali alla base di Forth. Factor non è Forth, ma ne eredita la mentalità concatenativa e orientata allo stack, e il libro di Brodie è la migliore introduzione a questo modo di pensare.

  • La documentazione di Factor è sorprendente ed estesa. È disponibile offline, ricercabile direttamente dal Listener della GUI o dalla riga di comando, e gli stessi documenti ricercabili sono disponibili online.

  • playground-factor di Björn Lindqvist è un repo pieno di suggerimenti e trucchi interessanti. Björn, uno degli sviluppatori di Factor, non lo aggiorna molto spesso ed è un WIP (gran parte dei contenuti è in fase di trasferimento sulla GitHub Wiki), ma è comunque roba molto interessante.

  • Learn X in Y Minutes ha un tutorial su Factor. Non è affatto approfondito, ma è un buon riferimento e basta per iniziare.

  • Rosetta Code: Factor fa parte di un sito di crestomazia di programmazione. Tra centinaia di altri linguaggi, contiene le soluzioni di molti problemi in Factor, che puoi confrontare con i linguaggi che già conosci: un buon riferimento e un punto di partenza per le soluzioni.

Infine, e forse in fondo alla lista:

  • Stack Overflow. Non c'è una grande community (okay, più o meno tre utenti, me compreso), ma chiedi lì se sei davvero, totalmente bloccato e qualcuno ti aiuterà di sicuro.

  • La mailing list. Qui puoi chiedere qualsiasi cosa relativa a Factor e un collaboratore ti risponderà in modo utile.

  • Factor è su IRC! Vieni a unirti a noi, siamo felici di aiutare.

  • Impara e leggi qualcosa su Joy, Forth e sulla programmazione concatenativa / basata sullo stack in generale.

  • Impara e leggi qualcosa sul Common Lisp Object System. Il CLOS è ampiamente considerato il modello a oggetti più avanzato e innovativo al mondo, e il modello a oggetti di Factor si basa in larga parte su di esso e ne è ispirato.

  • Per molti versi, Factor è un Lisp. È un Lisp postfix, point-free, funzionale, al rovescio e dall'aspetto curioso, ma molte ideologie sono le stesse. Per questo può essere utile imparare un Lisp, preferibilmente un Lisp-1 in cui funzioni e variabili condividono lo stesso namespace (perché nella programmazione funzionale le funzioni sono valori). Il sottoscritto consiglia umilmente Scheme o, per qualcosa di più moderno e utilizzabile, Racket, un discendente di Scheme.

Infine, Factor è scritto quasi interamente in Factor. Quindi leggi il codice sorgente e cerca nei documenti le parole che non conosci.