Go

Go es un lenguaje de programación pequeño, creado en Google, hecho para que un mismo servicio atienda muchísimas peticiones a la vez sin caerse.

También conocido como Golang lenguaje Go

Definición

Go es un lenguaje de programación creado en Google, y es pequeño a propósito. Quienes lo diseñaron partieron de lo que se rompe de verdad en los sistemas muy grandes, así que se quedaron con lo que ayuda y tiraron el resto. Un programador con experiencia aprende casi todo Go en una semana, y esa sencillez deja sitio para el único trabajo por el que se hizo el lenguaje.

Ese trabajo es hacer muchas cosas a la vez, y se ve mejor que en ningún sitio en una web de entradas la mañana en que salen a la venta. Diez mil personas pulsan comprar en el mismo minuto, y cada una espera una respuesta inmediata. La mayoría de los lenguajes necesitan un añadido para aguantar una multitud así, de modo que alguien tiene que instalarlo y luego ajustarlo. En Go esa capacidad viene dentro del propio lenguaje, y por eso atender a una multitud es aquí un trabajo normal y no una hazaña.

Lo segundo que gusta a los equipos llega al final, porque un programa de Go terminado se convierte en un único archivo. Copias ese archivo en un servidor y lo ejecutas, sin nada más que instalar al lado. Eso significa ningún entorno que mantener al día y ninguna lista de piezas que deban coincidir. Quien haya visto un programa funcionar en una máquina y negarse a arrancar en la siguiente entiende enseguida por qué importa.

Go pide algo a cambio. Habla de forma llana, así que escribes más líneas repetidas que en otros lenguajes, y a algunos programadores les resulta aburrido. Tampoco es la herramienta para las pantallas de gestión de siempre, como una lista de facturas, una página de stock o un formulario de reserva. Ese trabajo termina antes y cuesta menos en un lenguaje de aplicaciones web corriente. Por eso, cuando Linkysoft recurre a Go, lo hace para una pieza muy exigida dentro de un sistema mayor, nunca para el sistema entero.

Esa pieza casi siempre es del mismo tipo: la que recibe los mensajes de los móviles, la que envía las notificaciones o la que responde mil veces por minuto al buscador. Suele estar detrás de una aplicación móvil que debe sentirse instantánea, que es donde antes se nota cualquier lentitud. Por eso conviene hacerle una pregunta a cualquier proveedor que proponga Go: ¿qué se rompe primero si el tráfico se duplica? Si responde que la base de datos y no el código, ha entendido el problema real, y ahí es donde Linkysoft prefiere gastar tu presupuesto.

Preguntas sobre Go

¿Go y Golang son lo mismo?
Sí. Golang es solo un apodo que viene de la antigua dirección web, porque una palabra de dos letras como Go es casi imposible de buscar.
¿Go es más rápido que PHP o Python?
Normalmente sí, para el mismo trabajo y la misma máquina. Pero la mayoría de las webs lentas lo son por la base de datos o la red, no por el lenguaje.
¿Debería escribir todo mi sistema en Go?
Casi nunca. Las pantallas del día a día se construyen antes en otros lenguajes. Go compensa en la parte o dos que soportan el tráfico fuerte.
¿Es difícil encontrar programadores de Go?
Hay menos que de PHP o Java, pero el lenguaje es tan pequeño que un buen programador lo aprende en semanas. Pregunta quién lo mantendrá después del lanzamiento.

¿Sigue sin ver cómo se aplica esto a su proyecto?

Cuéntenos qué está construyendo y le responderemos en lenguaje claro.