En esta materia veremos un nuevo lenguaje de programación que es ampliamente utilizado en los back-end. Hablamos del lenguaje Go, un lenguaje lanzado por Google muy recientemente, en el año 2009, ideado por Robert Griesemer, Rob Pike y Ken Thompson.
Como es un lenguaje nuevo, fue ideado nativamente para dar solución de manera simple a la mayoría de los problemas que los ingenieros de software nos encontramos a menudo:
- Aprovecha al máximo el uso de múltiples procesadores. Esto lo hace atractivo en sistemas de alto rendimiento, al generar ahorros de procesamiento en sistemas pensados para la nube.
- El código es fácil de mantener, lo que lo hace estable.
- Tiene una alta velocidad de compilación. Mientras muchas aplicaciones se basan en el framework Spring (por lo que al iniciarse necesitan cierto tiempo hasta poder responder peticiones HTTP), los servicios Go tardan menos en iniciarse porque utilizan las implementaciones disponibles de la biblioteca estándar.
- Posee optimización autónoma del código.
- Contiene nativamente la capacidad de desarrollar APIs sin la necesidad de numerosas librerías externas, por lo que es simple, fácil y robusto.
- Combina la facilidad de la programación de los lenguajes interpretados y dinámicos y la eficiencia y la seguridad de un lenguaje compilado.
En consecuencia, no es de extrañar que hasta ahora Go se utilice principalmente en empresas y en el entorno de los servidores, ámbitos en donde la estabilidad y el rendimiento de los servicios juegan un rol especialmente importante. Es sobre todo en la virtualización basada en contenedores donde hay una especial demanda de este joven lenguaje de programación. Por lo que no debe sorprendernos que Docker, el representante más prominente de las plataformas de contenedores, esté basado en Go.
- Comprender la sintaxis y paradigma del lenguaje Go.
- Adquirir las mejores prácticas a través de una arquitectura en capas por dominio.
- Construir APIs con uno de los lenguajes más potentes en soluciones de back-end.
- Introducción a la sintaxis Go
- Funciones
- Estructuras
- Composición, punteros e interfaces
- Manejo de errores e interrupciones
- Operaciones de I/O y archivos
- Concurrencia y paralelismo
- Taller de código
- APIs
- Configuración de entorno y persistencia en archivos
- Middleware, autenticación y documentación
- Capa de acceso a datos
- Taller de coding
- Go en una arquitectura Spring Cloud
- Cierre
Por favor, tenga en cuenta que este documento .md es solo una introducción al curso de programación en Go. Cada módulo se abordará con mayor detalle en las lecciones y talleres correspondientes. ¡Esperamos que disfrutes del curso y que aprendas mucho sobre este poderoso lenguaje de programación!