🥇 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