Skip to content

Latest commit

 

History

History
154 lines (89 loc) · 10.9 KB

LEEME.md

File metadata and controls

154 lines (89 loc) · 10.9 KB

Hacé F# tu primer lenguaje de programación funcional

Si estás fuera de Argentina,

Buy Me A Coffee

En Argentina (⭐️⭐️⭐️)

Invitame un café en cafecito.app

If you are interested in the english version, see README.md

Acerca del curso

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.

Inicio rápido

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:

Binder

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#,

I do not want C#

pero ese no es el lenguaje que estás buscando:

This is it

Y estás listo para comenzar.

Haz tu copia (Fork it)

Si quieres experimentar con las guías, hacer los ejercicios, etc., es mejor obtener tu propia copia de este repositorio haciendo fork.

Usando Binder para ejecutar tu repositorio

Una vez que hagas fork del repositorio, ve a MyBinder. Llegarás a esta página:

Binder landing page

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#.

Instalando cuadernos políglotas para ejecutar en tu propia computadora

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 quiero usar los notebooks!

¡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#!

Content

Funciones

Types

Control Flow

De las colecciones

Más sobre colecciones

Managing Errors

Intermezzo: Un kata clásico

Intermezzo: Ejercicios

Input/Output

Procesando archivos de datos estructurados

Bienvenido a .NET!

Tests

Coda: Más ejercicios