Conecta con nosotros

Noticias

¿Por qué programar en Go?

Publicado el

Go

A la hora de formarse en programación, la principal pregunta que debemos hacernos es «–¿pero qué lenguaje me interesa más?«. La respuesta, claro, depende de múltiples factores, como la orientación que queramos dar a nuestra carrera, el entorno en el que deseamos trabajar o, claro, si ya tenemos experiencia previa con algún otro lenguaje. No es, por lo tanto, una decisión sencilla, y menos aún si tenemos en cuenta que, al igual que ocurre en otros campos tecnológicos, la evolución y la novedad están a la orden del día, y el lenguaje que hoy es la estrella, mañana puede haber acabado en el olvido o, por contra, otro que a día de hoy es apenas conocido, en poco tiempo se puede convertir en uno de los más requeridos.

Este último podría ser, sin duda, el caso de Go, un lenguaje creado por Google (de ahí su nombre, claro), claramente basado en C, pero con algunos avances y ciertas peculiaridades que es importante conocer antes de adentrarse en él. Lo más interesante es que, desde hace ya bastante tiempo, la prestigiosa plataforma Tiobe no deja de reconocer su enorme crecimiento. Sin ir más lejos, en la tabla de julio de 2017 podemos comprobar que se trata del que más crece en base de usuarios. Es más, ya a principios de este año, y en base a ese crecimiento sostenido, lo calificó como el lenguaje de programación del año, pese al auge de otros especialmente dedicados áreas muy específicas y que también experimentan un importante crecimiento.

Aunque es ahora cuando está cobrando una gran relevancia, en realidad fue creado hace ya ocho años, en 2009, y durante estos años se ha ido ganando la confianza de empresas como Uber o, lo que es más llamativo, SpaceX, que lo emplea en algunos de sus sistemas de control de despegue, vuelo y aterrizaje de sus cohetes. Las novedades con las que cuenta, sumado a la facilidad de aprenderlo para profesionales que ya programan en C, lo ha convertido en una opción realmente atractiva. Ahora bien, ¿qué tiene de especial?

Podemos definir Go como un lenguaje compilado, estáticamente tipado (manteniendo el tipo de variable durante todo el proceso de ejecución), concurrente (sigue las directrices de CSP), basado en paquetes, orientado a objetos pero con un planteamiento un tanto peculiar, con detección de errores durante la compilación (no nos obliga a llegar a la fase de ejecución para detectarlos) y con un sistema propio de gestión de memoria (con recolector de basura).

Además, algo que llama mucho la atención, es que no cuenta con excepciones. En opinión de sus creadores, los manejadores de excepciones se han convertido, con el tiempo, en una herramienta más de control de flujo de las aplicaciones, en vez de un elemento dedicado en exclusiva, como su propio nombre indica, a gestionar las posibles excepciones que se puedan producir en tiempo de ejecución. Por su parte, aunque se supone que está orientado a objetos, sorprendentemente no soporta herencia de tipos y, además, las definiciones de tipos se efectúan mediante declaraciones separadas.

Así pues, Go ofrece gran parte de las ventajas de C, pero con algunas mejoras que, en palabras de Google, lo convierten en el C del siglo XXI, y que además cada vez va ganando más espacio en distintos sectores, y que además cuenta con algunas funciones específicas que lo han acercado al mundo de la ciencia, que está empezando a emplearlo de manera cada vez más habitual.

Lo más leído