Como aprender Factor

Uma visão geral de como começar do zero com o Factor


Existem muitos recursos ótimos para aprender Factor.

  • O tutorial de Factor da Andrea Ferretti é um passeio completo pela linguagem, que vai dos conceitos básicos de pilha até metaprogramação, computação distribuída e desenvolvimento web com Furnace.

  • Factor in 2022 é uma palestra de 2022 de John Benediktsson e Doug Coleman que apresenta um panorama da linguagem e de como é usá-la hoje em dia.

  • Thinking Forth, de Leo Brodie, é um clássico sobre a filosofia de projeto e os hábitos mentais por trás do Forth. Factor não é Forth, mas herda a mentalidade concatenativa e orientada a pilha, e o livro de Brodie é a melhor introdução a esse jeito de pensar.

  • A documentação do Factor é incrível e extensa. Ela está disponível offline, pode ser pesquisada direto no Listener com interface gráfica ou na linha de comando, e a mesma documentação pesquisável está disponível online.

  • O playground-factor do Björn Lindqvist é um repositório cheio de dicas e truques interessantes. Björn, um dos desenvolvedores do Factor, não o atualiza com muita frequência, e ele está em andamento (WIP), com boa parte do conteúdo sendo movida para a Wiki do GitHub, mas ainda assim é coisa muito legal.

  • O Learn X in Y Minutes tem um tutorial de Factor. Ele não é extenso de forma alguma, mas é uma boa referência e o suficiente para você começar.

  • O Rosetta Code: Factor faz parte de um site de cresmatia de programação. Entre centenas de outras linguagens, ele tem soluções para muitos problemas em Factor, que você pode comparar com linguagens que você já conhece: uma boa referência e ponto de partida para soluções.

Por último, e talvez menos importante:

  • O Stack Overflow. Não há uma comunidade grande (tá, uns três usuários, incluindo este que vos escreve), mas pergunte lá se você estiver realmente travado e alguém com certeza vai te ajudar.

  • A lista de discussão. Lá, você pode perguntar sobre qualquer coisa relacionada a Factor e um colaborador vai responder com boa vontade.

  • O Factor está no IRC! Venha se juntar a nós; ficaremos felizes em ajudar.

  • Aprenda e leia sobre Joy, Forth e programação concatenativa / baseada em pilha em geral.

  • Aprenda e leia sobre o Common Lisp Object System. O CLOS é amplamente considerado o modelo de objetos mais avançado e inovador do mundo, e o modelo de objetos do Factor é fortemente baseado nele e inspirado por ele.

  • De muitas formas, Factor é um Lisp. É um Lisp pós-fixado, sem pontos (point-free), funcional, de dentro para fora e ao contrário, de aparência engraçada, mas muitas das ideologias são as mesmas. Por isso, pode ser útil aprender um Lisp, de preferência um Lisp-1, no qual funções e variáveis compartilham um mesmo namespace (porque funções são valores em programação funcional). Este que vos escreve recomenda humildemente Scheme ou, para algo mais moderno e usável, Racket, um descendente de Scheme.

Por fim, Factor é escrito quase inteiramente em Factor. Então, leia o código-fonte e pesquise na documentação as palavras que você não conhecer.