Si estás fuera de Argentina,
En Argentina (⭐️⭐️⭐️)
If you are interested in the english version, see README.md
Estas guías están orientadas a aquellos programadores interesados en aprender algunos conceptos de programación funcional desde una perspectiva práctica. F# es un excelente primer lenguaje de programación funcional: es funcional (por supuesto), tiene una sintaxis limpia y legible (sin muchos símbolos llamativos o raros), es flexible (en caso de que necesites comprender algún otro paradigma en medio de tu código) y es lo suficientemente conciso como para expresar tus ideas con claridad.
Aprender un nuevo lenguaje y un nuevo paradigma de programación es una aventura maravillosa. No necesitas ninguna preparación especial, aunque asumo que el lector tiene cierta experiencia en al menos un lenguaje popular (digamos C, Python, Java o JavaScript, por ejemplo).
Estas guías están escritas completamente como Jupyter Notebooks. Sí, es posible ejecutar F# en un entorno interactivo de notebooks, lo cual es fantástico para aprender.
El curso comienza con la programación funcional, luego se adentra en F# y finalmente se presenta .NET como una biblioteca vasta y útil. ¡No se necesita experiencia previa en el ecosistema .NET!
El curso está enfocado en comprender el lado funcional de F#. De manera intencionada, dejé de lado muchas posibilidades que el lenguaje ofrece, para mantenerse enfocado en el núcleo del curso. Con suerte, algunas de ellas podrán ser revisitadas en lecciones más avanzadas, por escribirse.
Si necesitas el curso en otro idioma, puedes usar nbTranslate, una extensión de Jupyter Notebooks (Jupyter notebook extension) que crea notebooks multilingües traduciendo el contenido usando Google Translate. Sigue las instrucciones en esos sitios para hacerlo funcionar.
Intenté hacer referencia a todo el material a sus respectivos autores. Si encuentras algún trabajo tuyo sin referencia, avísame y lo incluiré con gusto.
El curso está estructurado como una colección de Jupyter Notebooks Políglotas. Un Jupyter Notebook es una aplicación sencilla que permite ejecutar bloques de código en celdas, que pueden entrelazarse con texto, gráficos, matemáticas, etc. El cuaderno se conecta a un kernel que se encarga de ejecutar el código, y se ejecuta en un navegador web. El lenguaje más popular utilizado en los notebooks es Python, sin embargo, se pueden usar muchos lenguajes diferentes. Un cuaderno políglota incluye la posibilidad de ejecutar varios lenguajes, entre ellos F#.
Para ejecutar las lecciones tal como están, simplemente abre este repositorio en MyBinder:
Dale un poco de tiempo y esto abrirá los cuadernos en tu navegador web.
Abre el que prefieras, verifica que el Kernel
en el lado derecho esté correctamente seleccionado:
Detectará automáticamente .NET C#,
pero ese no es el lenguaje que estás buscando:
Y estás listo para comenzar.
Si quieres experimentar con las guías, hacer los ejercicios, etc., es mejor obtener tu propia copia de este repositorio haciendo fork.
Una vez que hagas fork del repositorio, ve a MyBinder. Llegarás a esta página:
Copia la URL de tu repositorio bifurcado en el campo GitHub
, y puedes dejar en blanco los campos Git ref
y Path to a notebook
. Haz clic en `launch`` y espera un momento hasta que MyBinder haga su magia.
Una vez abierto el Binder, haz clic en el directorio es
(en español) o en
(versión en inglés) en el panel izquierdo, y verás todos los cuadernos disponibles.
Sigue las instrucciones anteriores para seleccionar el kernel de F#.
Si deseas experimentar con los cuadernos en tu propia computadora, necesitas instalar la extensión políglota para VS Code. Sigue las instrucciones allí para hacer que todo funcione sin conexión.
¡No hay problema! Simplemente copia y pega los códigos de los cuadernos del repositorio en el Fable REPL, que es un compilador de F# en línea. Solo escribe tu código en el panel izquierdo, haz clic en el botón de reproducción habitual (o Alt+Enter) y eso es todo, ¡estarás programando en F#!