paint-brush
¿Debo ir? Los pros y los contras de usar el lenguaje de programación Gopor@irinasidorenk
84,861 lecturas
84,861 lecturas

¿Debo ir? Los pros y los contras de usar el lenguaje de programación Go

por Irina Sidorenko2019/02/26
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

No debería sorprender a la mayoría que <a href="https://hackernoon.com/tagged/google" target="_blank">Google</a> haya lanzado su propio lenguaje <a href="https://hackernoon.com/tagged/programming" target="_blank">de programación</a> . La compañía se ha estado moviendo agresivamente en prácticamente todos los sectores tecnológicos imaginables, y la mayoría de las veces, terminan revolucionando el sector que buscan desarrollar. Ha pasado más de una década desde que Go entró en producción y, aunque es posible que todavía no tenga la base de instalación de lenguajes como Python y JavaScript, el lenguaje patentado de Google tiene mucho que ofrecer. Aquí está todo lo que debe considerar antes de decidirse a aprender este idioma.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - ¿Debo ir? Los pros y los contras de usar el lenguaje de programación Go
Irina Sidorenko HackerNoon profile picture

No debería sorprender a la mayoría que Google haya lanzado su propio lenguaje de programación . La compañía se ha estado moviendo agresivamente en prácticamente todos los sectores tecnológicos imaginables, y la mayoría de las veces, terminan revolucionando el sector que buscan desarrollar. Ha pasado más de una década desde que Go entró en producción y, aunque es posible que todavía no tenga la base de instalación de lenguajes como Python y JavaScript, el lenguaje patentado de Google tiene mucho que ofrecer. Aquí está todo lo que debe considerar antes de decidirse a aprender este idioma.

Ventajas: facilidad de uso

Si bien Go puede no ser tan popular como JavaScript o Python, tiene una cosa importante en común con ellos: es eminentemente fácil de entender. La sintaxis es limpia y accesible para los recién llegados, y no hay muchas funciones complejas que aprender. Pero esa sintaxis elegante y limpia ofrece ventajas para más que solo novatos. Esto se debe a que también es un lenguaje fácil de leer, y eso lo convierte en una excelente opción para el código heredado que puede involucrar a varios codificadores que iteran sobre los bloques de código de los demás. Las similitudes cercanas con los lenguajes de estilo C significan que será un lenguaje simple de aprender para los programadores que dominan C ++ o C #.

Con: a veces demasiado simplista

Una de las principales ventajas de Go es también una de sus mayores debilidades. Go puede ser un lenguaje fácil de aprender, pero eso trae consigo una falta de versatilidad. Algunos de los idiomas más populares del mercado se enorgullecen de su complejidad. Las opciones como Swift y Haskell pueden ser más difíciles de aprender, pero se las arreglan para encontrar a sus fans al incluir una gran cantidad de abstracciones inteligentes que permiten a los codificadores lograr resultados complejos e inteligentes con menos. Al eliminar esta funcionalidad de alto nivel, Go también sacrifica el alcance.

Pro: una biblioteca estándar inteligente

Los usuarios de Go pueden lograr mucho sin tener que importar o aprender bibliotecas secundarias complicadas. La biblioteca estándar que viene con Go es sofisticada sin resultar abrumadora y reduce el riesgo de errores por nombres de funciones en conflicto. Tomemos el ejemplo de las rebanadas. Es una de las adiciones más inteligentes de Go al mundo de la programación y ofrece una forma más sencilla de incorporar estructuras de datos en sus bloques de código. Una serie de tareas que requerirían soluciones alternativas complicadas en otros idiomas se pueden realizar con una sola línea de código a través de la interfaz de Go.

Con: todavía es un idioma joven

Hay muchas promesas en Go, pero es un idioma que todavía está en su adolescencia, y eso significa que, en muchos sentidos, no puede competir con sus hermanos mayores. La biblioteca nativa de Go puede tener un diseño inteligente y ser eficiente, pero compite con lenguajes como Java, que viene respaldado por una gran colección de código integrado y una industria artesanal de nuevas bibliotecas creadas por una comunidad entusiasta y comprometida. Si bien Go eventualmente puede ponerse al día con sus pares, todavía tiene un largo camino por recorrer en términos de soporte de biblioteca.

Pro: fuerte seguridad integrada

El código más simple es generalmente más seguro que el código complicado , y ese es absolutamente el caso con Go. Como lenguaje tipificado estáticamente, no tiene que preocuparse por errores complejos y difíciles de identificar que provienen de la gran cantidad de tipos de variables presentes en lenguajes más dinámicos. Luego está el recolector de basura incluido que ayuda a evitar que la memoria se desangre en su código. Si bien la falta de genéricos significa que los codificadores deben ser más diligentes en la ejecución de las pruebas, la identificación de errores es más fácil que en muchas alternativas, y eso generalmente promueve un enfoque más completo para escribir código limpio.

Con: falta de una máquina virtual

Si bien la decisión de no basar Go en una máquina virtual fue una elección consciente, y viene con algunas ventajas distintas diseñadas para facilitar el uso, lo malo puede muy bien superar lo bueno aquí. Hay una razón por la que muchos de los lenguajes populares en la actualidad se basan en máquinas virtuales. Las máquinas virtuales ofrecen un código más eficiente, y eso significa que los tamaños de archivo de Go a menudo eclipsan a los de los lenguajes de programación de la competencia. Si bien Google ha ido mejorando lentamente la eficiencia del lenguaje en los últimos años, aún puede esperar que los programas más complejos escritos con Go consuman rápidamente su RAM.

Pro: la prominencia de Google en la industria

Es poco probable que Google vaya a algún lado pronto. Es poco probable que encuentren un competidor en el espacio general de los motores de búsqueda en un futuro próximo, y de alguna manera se las han arreglado para dejar a un lado a Microsoft como el gobernante preeminente e indiscutible de los programas que se usan en la oficina. Y aunque Google a menudo se enamora de sus productos grandes y ambiciosos (vea Google Glass o el extenso cementerio de plataformas de redes sociales), no parece que vayan a abandonar Go en el corto plazo. Puede estar bastante seguro de que Go jugará un papel importante en la arquitectura de Google durante mucho tiempo.

Con: no ha encontrado su nicho

Go fue diseñado por Google para realizar algunas de las tareas específicas que los programadores de Google necesitaban realizar de manera más eficiente. Eso hace que la programación de Go sea una habilidad fenomenal si trabajas en Google, pero aún no ha logrado encontrar un nombre por sí mismo en el mundo en general. Mientras que JavaScript se ha convertido en el lenguaje del momento para la programación front-end compleja y Python ha encontrado un lugar en el mundo de la visualización y el análisis de datos, Go aún tiene que presentar un buen argumento sobre su ubicación en el ecosistema de programación más amplio. Agregue el hecho de que otras compañías dudarán en invertir en un idioma que es esencialmente propiedad de un competidor, y queda claro que Go podría seguir siendo en gran medida un idioma de Google utilizado por los ingenieros de Google.

Pro: Documentación inteligente

Si bien Go es un lenguaje eminentemente simple tanto para escribir como para leer, eso no elimina la necesidad de documentar los programas. Existen políticas estándar para documentar todas las funciones y bibliotecas incluidas, y el lenguaje de Google incluso lo alerta cuando olvida poner la documentación en su lugar. Ese es un activo especialmente valioso para los programadores más jóvenes, que tienden a caer en hábitos de documentación descuidados desde el principio.

Con: No hay biblioteca GUI

Go es una excelente opción para aplicaciones de una sola página. Sin embargo, Go no tiene una biblioteca GUI, lo que significa mucho tiempo y conocimiento que necesitará para conectar una biblioteca a su aplicación en lugar de usar soluciones nativas como con Python o Java.

No existe tal cosa como un lenguaje de programación perfecto y completo. Lo mejor que puede hacer un idioma es esperar hacer una o dos cosas mejor que todos los demás idiomas. Para Go, las fortalezas más obvias son claras. Su facilidad de uso, combinada con su alta adopción en Google, lo convierte en un lenguaje joven y prometedor. Pero no va a ser el adecuado para cada proyecto o cada programador. Considere cuidadosamente las fortalezas y debilidades antes de adoptarlo como un nuevo idioma para aprender o tratar de integrarlo en la infraestructura de su organización.