Cómo aprender Factor

Una introducción a cómo empezar con Factor desde cero


Hay muchos recursos excelentes para aprender Factor.

  • El tutorial de Factor de Andrea Ferretti es un recorrido completo del lenguaje, que avanza desde lo básico de la pila hasta la metaprogramación, la computación distribuida y el desarrollo web con Furnace.

  • Factor in 2022 es una charla de 2022 de John Benediktsson y Doug Coleman que da un recorrido por el lenguaje y por lo que es usarlo hoy en día.

  • Thinking Forth, de Leo Brodie, es un clásico sobre la filosofía de diseño y los hábitos mentales que están detrás de Forth. Factor no es Forth, pero hereda la mentalidad concatenativa y orientada a la pila, y el libro de Brodie es la mejor introducción a esa forma de pensar.

  • La documentación de Factor es asombrosa y muy completa. Está disponible sin conexión, se puede buscar directamente desde el GUI Listener o desde la línea de comandos, y esos mismos documentos con búsqueda están disponibles en línea.

  • playground-factor, de Björn Lindqvist, es un repositorio lleno de consejos y trucos interesantes. Björn, uno de los desarrolladores de Factor, no lo actualiza muy seguido y es un trabajo en curso (gran parte de su contenido se está moviendo a la wiki de GitHub), pero sigue siendo material muy interesante.

  • Learn X in Y Minutes tiene un tutorial de Factor. No es extenso ni mucho menos, pero es una buena referencia y suficiente para empezar.

  • Rosetta Code: Factor es parte de un sitio de crestomatía de programación. Entre cientos de otros lenguajes, tiene soluciones a muchos problemas en Factor, que puedes comparar con lenguajes que ya conoces: una buena referencia y punto de partida para tus soluciones.

Por último, y quizá lo menos importante:

  • Stack Overflow. No hay una comunidad grande (bueno, unos tres usuarios, incluido quien esto escribe), pero pregunta ahí si de verdad no encuentras qué hacer y seguro alguien te ayudará.

  • La lista de correo. Aquí puedes preguntar sobre cualquier cosa relacionada con Factor y un colaborador te responderá amablemente.

  • ¡Factor está en IRC! Ven a acompañarnos; con gusto te ayudamos.

  • Aprende y lee sobre Joy, Forth y la programación concatenativa / basada en la pila en general.

  • Aprende y lee sobre el Common Lisp Object System. El CLOS es ampliamente considerado el modelo de objetos más avanzado e innovador del mundo, y el modelo de objetos de Factor está fuertemente basado en él y se inspira en él.

  • En muchos sentidos, Factor es un Lisp. Es uno posfijo, sin puntos, funcional, al revés y de adentro hacia afuera, y de aspecto curioso, pero muchas de sus ideas son las mismas. Por eso, puede ser útil aprender un Lisp, preferiblemente un Lisp-1 en el que las funciones y las variables comparten un espacio de nombres (porque en la programación funcional las funciones son valores). Quien esto escribe recomienda humildemente Scheme o, si buscas algo más moderno y usable, Racket, un descendiente de Scheme.

Por último, Factor está escrito casi por completo en Factor. Así que lee el código fuente y busca en la documentación las palabras que no conozcas.