Historia de Go
--- Fecha: vie 28 ago 2026 23:30:02 CEST ---
Tras los créditos, fundido a negro, y aparece Ken Thompson, un señor ya mayor, pero que de joven era un culo inquieto y se curró UNIX, entre otras cosas. Lo puedes leer aquí:
Un día que estaba en su oficina lanzando aviones hechos de papel de impresora, pensaba «Me aburro, ¿qué podría hacer?» y decidió crear un lenguaje de programación, por que puede, y porque lo que había no le acababa de molar. Tenía que ser simple y muy básico, tanto que los demás se rieron de él y lo llamaron «el lenguaje para tontos», y él pensaba «ríe, ríe, que quien ríe el último...».
Ken, que es muy suyo, hizo el sistema aburrido y se empeñaba en que todo se hiciera a su manera, sin dejarte elegir cómo escribir tu propio código.
Por el 2007, en can Google se tiraban más de una hora compilando 10 líneas de mierda en C++ con 100 ordenadores del data center trabajando para ellos, ¿cómo es esto posible?, pues porque todo estaba conectado con todo. La compilación arrastraba 5 millones de líneas.
Fundido a negro y aparece Rob Pike, un picacódigo que curraba con Ken desde hacía años. Se fueron a tomar algo a un bareto de por allí, y la historia fue más o menos así:
—Oye Ken, estoy hasta los huevos de la mierda esta de C++
—Ya tío, y que lo digas.
—Molaría inventarse algo que fuese más rápido y sobre todo ¡simple, por Dios!
—No hay huevos.
—¿Que no hay huevos?, sujétame el cubata.
Y se curraron un nuevo lenguaje en una de las servilletas del garito.
Entra en escena un friki mítico de Google, un tal Mike Burrow, que estaba esperando muerto de asco la puñetera compilación y por alguna de las casualidades de la vida, vio pasar por pantalla un fichero de un paquete que no pintaba nada, y hurgando en la herida, vio que aquel fichero y unos cuantos más de su misma categoría se estaban compilando una y otra vez ¡37.000 veces!
Cuando lo vio Ken Thompson, que ya tenía muchos tiros pegados con estas cosas dijo «buah tronco, flipas, ¿pero qué mierdón es esto?» o algo así.
Ken ya tenía experiencia con MULTICS, otro mierdón, un sistema operativo sobrediseñado hasta lo absurdo. Segundas partes nunca fueron buenas, y MULTICS no iba a ser menos. Se curro UNIX en tres semanas, así que aplicó sus conocimientos con la versión UNIX a los lenguajes de programación.
Trincaron la servilleta y dijo «nada de complicaciones, señores, ha de ser simple», porque a Thompson le encanta quitar peso a las cosas hasta dejarlo casi en los huesos. Me veo a Ken gritando «Más madera» y dejando el tren solo con las ruedas*.
- Película de los hermanos Marx «Los hermanos Marx en el Oeste» de 1940
A la servilleta le fue recortando piezas hasta que la dejó temblando, solo 9 Kb.
Para ver cómo NO tenían que hacer las cosas fueron a una charla sobre C de su colega Dennis Ritchie, y fliparon cuando las nuevas "features" eran más grandes que el propio lenguaje entero, «¿Veis?, así es como no tenemos que hacerlo»
Entonces se les une un empollón llamado Robert Griesemer y los tres se plantan delante de una pizarra, como si fuesen Leonard Hofstader, Sheldon Cooper y Howard Wolowitz de Big Bang Theory, ¿qué podría salir mal?.
Se repartieron las faenas y acordaron no meter nada que no gustara a los tres, vamos, que con los tres cabezotas denegando todo, apenas entraba nada nuevo en el sistema que se estaban currando.
El 10 de noviembre de 2009, a las 3 de la tarde Go sale a la calle. Como era de código abierto y gratuito, la élite, esa gente que no se entera de nada, lo revisó y cuando vio que no habían "features" se partieron el ojete de risa, «No tiene features, no tiene features» así con voz de mofa, iban gritando por los pasillos, claro, sus mierdas de lenguajes iban hasta las trancas de "features" para poder hacer algo útil.
«Huy, mira, no tiene generics, jajajaja», «Anda, si tampoco tiene herencias ni excepciones, jajaja» iban mofándose los de la élite, y los lameculos de la prensa del sector haciéndoles de paladines con cientos de artículos poniendo a parir a Go. Hubo hasta un pavo que se curró en su web un artículo hate que dejaba Go a la altura del betún.
Pike, que ya tenía los huevos pelados de estas tonterías, salió a la palestra con un comentario demoledor para la élite:
—Mirad, papanatas, nos hemos currado un lenguaje tan sencillo ¿sabéis por qué?, pues porque nuestros programadores de google no son investigadores, son jóvenes, recién salidos de la universidad, que no son capaces de entender un lenguaje brillante.
Sus propios compañeros, aquellos críos con la identificación de Google colgando del cuello se miraron unos a otros como diciendo «eso no va por mi», pero si. Y la élite, que no habían captado la ironía, llamo por la red «Lenguaje para tontos» a Go, sin ser conscientes de que se estaban autoinsultando, y eso lo veremos más tarde.
El trío sigue currando, creando un sistema que en verdad, por debajo es un monstruo de ingeniería que les costó años, pero que por fuera es un campo de flores. En mente tenían que el código fuese tan legible que 10 años después, alguien recién llegado que no hubiera estado en el proyecto original supiese de qué iba con solo mirarlo.
Griesemer se curró un sistema de formateo de código para que todo fuera igual y no cascara, llamado Go FMT, que quitó horas de problemas que suceden con otros sistemas y que les lleva a quemar equipos enteros.
Total que con el tiempo, le élite se descojona porque ningún gran proyecto usa eso llamado Go, pero entonces, fundido a negro y parece en 2013 Solomon Hikes, que él solito se había currado Docker, una cosa para la incipiente nube, y sorpresa, está escrito en Go.
A partir de aquí, la nube estalla, todo el mundo quiere estar en la nube, nube para aquí, nube para allá, nubecitas y nubarrones por doquier. En 2019 aparece Kubernetes, escrito en GO, y llegarán ETCD, Terraform, Prometheus, Helm, Istio, las herramientas con las que se construye la nube, todo en Go.
Aaaaaaaaamigooooo, Go ya no da risa, ¿a que no, señoros de la élite?. Hasta entonces no se habían dado cuenta de que lo que la gente buscaba era algo que dijeras «descargo esto, lo uso y funciona» así sin tapujos, ni dependencias, ni horas de compilación, y sobre todo, un lenguaje fácil que se aprende en una semana.
De repente, Go estaba en todos sitios, era apto para servidores, simple y funcionaba, ¡chúpate esa, élite!, porque aquí no se trataba de tontos contra listos, si no de simplicidad contra complejidad, y esto solo lo vio Ken Thomson porque ya le paso con MULTICS Vs UNIX. Si es que ya lo dice el dicho, "más sabe el diablo por viejo que por diablo".
¿Recuerdas del hater de antes que escribió una web poniendo a Go a la altura del betún?, pues se comió sus palabras y él mismo añadió una nota arriba del todo de su artículo original diciendo que su opinión era errónea cuando escribió el artículo y ahora considera que Go es uno de los mejores lenguajes que ha usado y ha acabado trabajando de ingeniero de Go.
Y a lo tonto, ya van más de 2 millones de programadores que lo usan en sus lenguajes principales.
Tag: #go #thompson #pike #griesemer
/gemlog/