¿Porqué creó Google el lenguaje Go? ¿No era suficiente con Python?


Go, referido usualmente como golang, es un lenguaje de programación de Google de código abierto creado en 2007 por Robert Griesemer, Rob Pike y Ken Thompson. Es un lenguaje compilado y estáticamente tipado, siguiendo la tradición de Algol y C, con recolector de basura y características de seguridad de memoria, además de características de programación concurrente siguiendo el patrón CSP.

Pero, ¿Porqué decidieron crear Go? ¿No era suficiente con Python? ¿O con los demás lenguajes de programación existentes? Uno de los creadores de Go, Rob Pike, nos explica el asunto:
El punto clave aquí es que nuestros programadores son Googlers, no son investigadores. Son típicamente jóvenes, frescos de la universidad, probablemente aprendieron Java, quizás C o C++, probablemente aprendieron Python. No son capaces de entender un lenguaje brillante pero queremos que los usen para construir buen software. Así que, el lenguaje que queremos que usen tiene que ser sencillo para ellos de entender y adoptar.
Querían construir un buen lenguaje, pero simple, que permitiera a la gente construir cosas. Claramente, para Rob Pike, Python no es suficiente. Y Go es una gran mejora al respecto.
Python es un lenguaje dinámicamente tipado, y como tal, puede presentar desafíos al trabajar en grandes programas, en grandes equipos.

Un ejemplo rápido. Si creas una función en Python y la llamas en algunas lugares, vas a encontrar que si cambias el número de parámetros, o tipos de parámetros que toma la función, no hay errores en tiempo de compilación, solo en tiempo de ejecución. Ahora, eso no es un gran problema en pequeños programas de solo algunos cientos de lineas de código, pero una vez que llegas a los cientos de miles o millones de lineas de código, trabajar con cientos de otras personas, es un problema mayor.

Un lenguaje estáticamente tipado, como Go, convierte ese error en tiempo de ejecución a un error en tiempo de compilación, y te lo va a señalar cada vez que la función es llamada con los parámetros incorrectos. Y esto es una gran diferencia, cuando trabajas en proyectos de mediana o gran escala.

Y tu, ¿Que opinas del lenguaje de programación Go? Déjanos tu comentario abajo.

No hay comentarios:

Publicar un comentario