Como aprender Factor

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


Há muitos recursos excelentes para aprender Factor.

  • O tutorial de Factor de Andrea Ferretti é uma análise aprofundada da linguagem, que avança desde os fundamentos da pilha até à metaprogramação, à computação distribuída e ao desenvolvimento web com Furnace.

  • Factor in 2022 é uma palestra de 2022 de John Benediktsson e Doug Coleman que faz uma visita guiada à linguagem e mostra como é usá-la hoje em dia.

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

  • A documentação do Factor é fantástica e extensa. Está disponível offline, pode ser pesquisada diretamente a partir do Listener da interface gráfica ou na linha de comandos, e a mesma documentação pesquisável está disponível online.

  • O playground-factor de Björn Lindqvist é um repositório cheio de dicas e truques interessantes. Björn, um dos programadores do Factor, não o atualiza com muita frequência e é um trabalho em curso (grande parte do seu conteúdo está a ser transferido para a Wiki do GitHub), mas continua a ser material muito interessante.

  • O Learn X in Y Minutes tem um tutorial de Factor. Não é extensivo de forma alguma, mas é uma boa referência e o suficiente para começares.

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

Por último, e talvez o menos importante:

  • O Stack Overflow. Não há lá uma grande comunidade (está bem, cerca de três utilizadores, incluindo o autor destas linhas), mas pergunta por lá se estiveres mesmo, mesmo encravado, que alguém te ajudará de certeza.

  • A lista de correio. Aqui podes perguntar sobre qualquer coisa relacionada com o Factor e um colaborador responderá de forma útil.

  • O Factor está no IRC! Vem juntar-te a nós; teremos todo o gosto em ajudar.

  • Aprende e lê sobre Joy, Forth e programação concatenativa / baseada em pilha em geral.

  • Aprende e lê 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 tem nele uma forte base e inspiração.

  • Em muitos aspetos, o Factor é um Lisp. É um Lisp pós-fixo, point-free, funcional, do avesso e ao contrário, com um ar engraçado, mas muitas das ideias são as mesmas. Por isso, pode ser útil aprender um Lisp, de preferência um Lisp-1, em que funções e variáveis partilham o mesmo espaço de nomes (porque numa linguagem funcional as funções são valores). Quem isto escreve recomenda humildemente Scheme ou, para algo mais moderno e utilizável, Racket, um descendente do Scheme.

Por fim, o Factor está escrito quase inteiramente em Factor. Por isso, lê o código-fonte e procura na documentação as palavras que não conheceres.