¿Qué es Go?

Completado

Go es un lenguaje de programación que se ha desarrollado en Google. Se anunció en 2009 como proyecto de código abierto de Robert Griesemer, Rob Pikes y Ken Thompson. Desde entonces, Go se ha usado para desarrollar otras tecnologías conocidas, como Docker, Kubernetes y Terraform. Aunque Go se usa en gran medida en software del lado servidor y en la nube, es un lenguaje de uso general con una gran cantidad de casos de uso diferentes.

Go es expresivo, conciso y limpio. Está diseñado para ser idiomático, lo que permite a los programadores escribir de forma productiva código que sea eficaz y sólido. Los programas escritos en Go se pueden ejecutar en sistemas Unix, como Linux y macOS, y en Windows. Go destaca en parte debido a sus mecanismos de simultaneidad únicos, lo que facilita la escritura de programas que pueden aprovechar varios núcleos a la vez. Se trata principalmente de un lenguaje fuerte y con establecimiento de tipos en modo estático, lo que significa que los tipos de variables se conocen en tiempo de compilación. Sin embargo, tiene algunas funcionalidades de tipos dinámicos.

Según el índice TIOBE, Go fue el lenguaje de programación del año en 2009 y 2016. Aunque alcanzó su punto álgido en 2016, Go mantiene una alta clasificación. Según la encuesta anual Stack Overflow Developer Survey, Go sigue siendo un lenguaje con una alta aceptación.

Go tiene muchas similitudes con C y hereda aspectos de la sintaxis de C, como las instrucciones de flujo de control, los tipos de datos básicos, los punteros y otros elementos. Sin embargo, la sintaxis y la semántica del lenguaje van más allá de C. También comparte similitudes con Java, C#, Python y otros. En general, Go tiende a tomar prestadas y adaptar características de otros lenguajes de programación, aunque dejando de lado la mayor parte de la complejidad. Por ejemplo, puede usar algunas características de programación orientadas a objetos (OO) y patrones de diseño en Go, pero el paradigma de OO completo no está totalmente implementado. Conocerá los motivos más adelante en esta ruta de aprendizaje.

Principios de Go

Estas son las ventajas principales subyacentes del lenguaje de programación Go:

  • La licencia de Go es 100 % de código abierto.
  • Los programas de Go se compilan en un único archivo binario independiente, lo que facilita la distribución y el uso compartido.
  • Go admite la compilación cruzada en una gran variedad de plataformas y sistemas operativos.
  • Se esfuerza por que el lenguaje sea pequeño y simple para hacer más en menos líneas de código.
  • La simultaneidad es una entidad de primer nivel y permite que cualquier función se ejecute como un subproceso ligero con poco esfuerzo por parte del programador.
  • Go ofrece una administración automática de la memoria, como la recolección de elementos no utilizados.
  • La compilación y la ejecución son rápidas.
  • Go requiere que se utilice todo el código o, de lo contrario, se produce un error.
  • Existe un formato oficial que ayuda a mantener la coherencia entre proyectos.
  • Go cuenta con una biblioteca estándar grande y completa, y se pueden crear muchas aplicaciones sin dependencias de terceros.
  • Go garantiza la compatibilidad con versiones anteriores del lenguaje.

Casos de uso Go

  • Aplicaciones de nivel de sistema
  • Aplicaciones web
  • Aplicaciones nativas de la nube
  • Utilidades y herramientas de línea de comandos
  • Sistemas distribuidos
  • Implementaciones de base de datos