Descripción:
Si eres nuevo en Erlang, su estilo funcional puede parecer difícil, pero con este curso, reducirás la curva de aprendizaje y descubrirás cuán agradable, poderoso y divertido puede ser este lenguaje. El Curso de Fundamentos de Programación Funcional con Erlang muestra cómo escribir programas simples de Erlang aprendiendo una habilidad a la vez. Aprenderás acerca de la coincidencia de patrones, la recursión, el envío de mensajes, la programación orientada al proceso y el establecimiento de vías para los datos en lugar de indicarle dónde ir. Ponte cómodo con el shell de Erlang, su interfaz de línea de comandos y define funciones, utilizando la herramienta, para representar cálculos repetidos.
Objetivo:
Al final del curso, entre otras cosas, el alumno comprenderá por qué Erlang es ideal para la concurrencia y la resistencia. Se adentrará en el corazón del procesamiento de Erlang con recursión, cadenas, listas y funciones de orden superior. Creará procesos, enviará mensajes y aplicará la coincidencia de patrones a los mensajes entrantes. Almacenará y manipulará datos estructurados con Erlang Term Storage y la base de datos de Mnesia. Obtendrá información sobre Open Telecom Platform, las bibliotecas y herramientas de código abierto de Erlang.
Temario:
Parte 1: Cómo ponerse cómodo, funciones y módulos
Instalación | Dispararlo | Primeros pasos: The Shell | Hacer algo | Funciones de llamada | Números en Erlang | Trabajando con variables en el Shell | Diversión con diversión | Definición de módulos | Documentando el código
Parte 2: Átomos, tuplas y concordancia de patrones
Átomos | Patrón de coincidencia con los átomos | Booleanos atómicos | Guardias | Subrayando que no te importa | Agregar estructura: tuplas
Parte 3 Lógica y recursión, comunicación con humanos, y Listas
Lógica dentro de las funciones | El efecto secundario más agradable: io: formato | Recursión simple | Cadenas | Pedir información a los usuarios | Conceptos básicos de la lista | División de listas en jefes y colas | Procesamiento del contenido de la lista | Crear listas con cabezas y colas | Mezcla de listas y tuplas | Construyendo una lista de listas
Parte 4 Funciones de orden superior y comprensiones de listas, y jugar con procesos
Funciones simples de orden superior | Crear nuevas listas con funciones de orden superior | Más allá de las comprensiones de listas | El Shell es un proceso | Procesos de desove de los módulos | Procesos livianos | Registrando un Proceso | Cuando los procesos se rompen | Procesos que hablan entre sí | Viendo tus procesos | Rompiendo cosas y vinculando procesos
Parte 5: excepciones, errores y depuración
Sabores de errores | Captura de errores en tiempo de ejecución a medida que suceden | Planteando excepciones con tiro | Logging Progress and Failure | Depuración a través de una GUI | Rastreando mensajes | Ver llamadas de función
Parte 6: Almacenamiento de datos estructurados
Mapeo de sus datos | De Tuples a Registros | Almacenamiento de registros en Erlang Term Storage | Almacenamiento de registros en Mnesia
Parte 7: Comenzando con OTP
Los orígenes de OTP | Crear servicios con gen_server | Un supervisor simple | Empaquetando una aplicación
Parte 8: Próximos pasos a través de Erlang
Avanzando más allá de la carcasa de Erlang | Computación distribuida | Procesamiento de datos binarios | Entrada y Salida | Pruebas, análisis y refactorización | Redes y la web | Almacenamiento de datos | Extendiendo Erlang | Idiomas construidos en Erlang | Comunidad | Compartiendo el Evangelio de Erlang | Apéndice A Piezas de Erlang | Catálogo | Comandos de Shell | Palabras reservadas | Operadores | Componentes de guardia | Funciones comunes | Cadenas y formateo | Tipos de datos para documentación y análisis