Cómo aprender Factor

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


Hay muchos recursos excelentes para aprender Factor.

  • El tutorial de Factor de Andrea Ferretti es un recorrido exhaustivo por el lenguaje, que avanza desde los conceptos básicos 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 ofrece un recorrido por el lenguaje y por lo que supone 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 hay 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 increíble y muy extensa. Está disponible sin conexión, se puede buscar directamente desde el Listener de la GUI o desde la línea de comandos, y esa misma documentación con búsqueda está disponible en línea.

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

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

  • Rosetta Code: Factor forma parte de un sitio de chrestomatí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 gran comunidad (vale, unos tres usuarios, incluido un servidor), pero pregunta allí si de verdad estás atascado y seguro que alguien te ayuda.

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

  • ¡Factor está en IRC! Únete a nosotros; estaremos encantados de ayudarte.

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

  • Aprende y lee sobre el Common Lisp Object System. El CLOS está considerado ampliamente como el modelo de objetos más avanzado e innovador del mundo, y el modelo de objetos de Factor se basa en gran medida en él y está inspirado por él.

  • En muchos sentidos, Factor es un Lisp. Es uno de esos Lisp posfijos, sin puntos, funcionales, del revés y al contrario, de aspecto curioso, pero muchas de sus ideas son las mismas. Por eso puede resultarte ú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). Un servidor te recomienda humildemente Scheme o, si prefieres algo más moderno y práctico, Racket, un descendiente de Scheme.

Para terminar, 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.