🥇 Introducción a Golang
🍿 ¿Qué es Go?
- Go es un lenguaje de programación compilado.
- Es un proyecto OpenSource.
- Fue creado por Google en el 2007.
- Sus autores son Robert Griesemen (Suiza), Rob Pike (Canada) y Ken Thompson (USA).
- Fue lanzado al mercado el 10 de Noviembre del 2009.
- Fue creado con la intención de combinar el dinamismo de Python y el performance de C o C++.
- Es la solución interna de Google al aprovechamiento de los procesadores multicore.
🍿 ¿Quiénes son los creadores de Go?
- Ken Thompson diseño e implemento la versión original de Unix durante 1970.
- Rob Pike y Ken Thompson en conjunto diseñaron la codificación UTF-8.
- Robert Griesemer por su parte trabajo en el motor de JavaScript Google V8 que es utilizado por Chrome y Node.js.
- Go se crea tomando bases de Pascal, Oberon, C, C++.
🍿 ¿Cuáles son las diferencias entre Go y lenguajes como PHP, Python y Ruby?
- El compilador convierte el código de Go en código binario.
- Al realizar la compilación revisa si existen errores.
- El archivo compilado no requiere un interprete para ejecutarse.
- Se puede compilar directamente desde y a cualquier sistema operativo (Windows, Linux, Mac, etc) y/o arquitectura (32 o 64 bits).
🍿 ¿Quiénes usan Go?
- Uber
- Google
- Docker
- Kubernetes
- Twitch
- MongoDB
- Dropbox
🍿 ¿Cuáles son algunas de las ventajas de usar Go?
- Es sumamente rápido.
- No requiere de un interprete o una maquina virtual.
- Muy sencillo de usar debido a su sintaxis.
- Multiplataforma, se puede ejecutar en Windows, Mac, Linux, etc.
- Se puede compilar directamente desde y a cualquier SO y/o arquitectura.
- Programación asíncrona sencilla de utilizar (rutinas).
- El tiempo de compilación es prácticamente inmediato.
- Obliga al programador a tomar conciencia real sobre el manejo de errores.
- Viene precargado (no requiere de frameworks).
🍿 ¿Cuáles son algunas de las las desventajas de usar Go?
- Sigue siendo un lenguaje joven por lo que carece de la madurez de otros lenguajes como Java, Python, PHP, etc.
- Comparado con otros lenguajes como Python, PHP o Ruby, resulta ser algo improductivo, pues carece de muchos atajos que tienen estos otros lenguajes.
- La documentación no es la mas sencilla de interpretar para quienes comienzan a utilizar el lenguaje.
- Aun carece de paquetes oficiales para manejo de elementos importantes como algunas bases de datos.
- No existe un mercado laboral tan grande como en otros lenguajes.
🍿 ¿Qué tipo de aplicaciones se pueden crear con Go?
- Páginas web dinámicas.
- REST API’s.
- Servicios de red.
- Aplicaciones de línea de comandos.
🍿 ¿Qué tipo de aplicaciones no se pueden crear con Go?
- Aplicaciones de escritorio.
- Aplicaciones para dispositivos móviles (Android, iOS, etc).
🍿 Recursos adicionales para aprender Go