Ah, vamos, el lenguaje de programación. Probablemente hayas oído hablar de ello, tal vez de ese desarrollador demasiado entusiasta de la oficina que nunca deja de hablar de lo "increíblemente rápidas" que son ahora sus API. Seguro, has incursionado en otros idiomas y tal vez hayas pensado: "¿Realmente necesito otro idioma en mi plato?" Alerta de spoiler: sí, sí lo haces. Y Go es ese lenguaje. Déjame desglosarlo de la manera más sarcásticamente sincera posible.
La sintaxis de Go es tan simple que casi resulta insultante. Si ha pasado años dominando las complejidades de los marcos de JavaScript, luchando con decoradores de Python o bailando alrededor de la administración de memoria de C como si fuera una granada viva, Go se sentirá como si alguien le hubiera entregado un libro para colorear. No, en serio. Go es intencionalmente minimalista, con una filosofía que grita: "No necesitamos todas esas características sofisticadas, simplemente hagamos las cosas".
Mientras que otros lenguajes te brindan todas las herramientas para convertir tu código en una obra de arte elaborada e ilegible, los diseñadores de Go pensaron: "No, simplemente hagamos que funcione". Sin jerarquías de herencia complejas, sin sobrecarga de funciones complicadas, sin plantillas que parezcan álgebra de un mal sueño. Simplemente código directo y directo. Es casi como si estuvieran diciendo: “Aquí, deja de pensar tanto”.
Si alguna vez ha intentado lidiar con la concurrencia en lenguajes tradicionales, sabe cuánto puede doler. Grupos de subprocesos, exclusiones mutuas, puntos muertos: solo pensarlo te hace querer hacerte un ovillo y llorar. ¿Pero ir? Oh, no, Go dice: "¿Subprocesos? Pfft. Aquí tienes gorutinas". Es casi una falta de respeto lo fácil que es crear hilos livianos en Go. Simplemente coloca una palabra clave go delante de una llamada de función y, BAM, se ejecuta al mismo tiempo.
Y ni siquiera me hagas hablar de los canales de Go. Es como si Go hubiera echado un vistazo a los intentos de concurrencia de todos los demás idiomas y dijera: "Ustedes lo están complicando demasiado, miren esto". Los canales permiten que las gorutinas se comuniquen como niños bien educados que pasan notas en clase, sin gritos ni problemas. Incluso podrías sentirte insultado por lo bien que funciona.
¿Conoces esa sensación cuando tienes que instalar 47 paquetes solo para realizar una simple solicitud HTTP? No en Go. La biblioteca estándar de Go es como la navaja suiza que no sabías que necesitabas pero que ahora no puedes vivir sin ella. ¿Quieres poner en marcha un servidor web? Hecho. ¿Necesitas manejar JSON? Fácil. ¿Busca escribir un programa concurrente que se comunique a través de una red? Ya está en la caja de herramientas.
La biblioteca estándar de Go tiene esta tranquila confianza, como si dijera: “Oh, ¿quieres crear un servicio web? Puedes hacerlo, sin necesidad de recurrir a 200 dependencias de terceros y sacrificar tu alma”. Es como obtener todas las funciones premium de un idioma sin el inflado costo de suscripción. Y, sinceramente, eso es simplemente de mala educación.
¿Recuerdas todas las veces que te sentaste allí, dando golpecitos con el pie, esperando que se ejecutara tu código Python o JavaScript? Go no tiene tiempo para esas tonterías. Está compilado y es rápido. Es decir, parpadea y listo. Claro, otros lenguajes hacen lo mejor que pueden, pero Go simplemente te lanza sus binarios ultrarrápidos como, “¿Qué? ¿Todavía estás aquí? Ya está terminado.”
¿La mejor parte? No es necesario que comprendas toda la magia oculta que está sucediendo. Sólo sabes que Go produce ejecutables que se ejecutan como Usain Bolt en un espresso. Mientras otros idiomas se toman su tiempo para calentar y ponerse las zapatillas de correr, Go ya ha cruzado la meta, se ha duchado y disfruta de un batido post carrera.
¿Alguna vez has intentado hacer que un script de Python funcione tanto en Windows como en Linux? Sí, es como intentar organizar un proyecto grupal en la universidad: lleno de confusión, errores extraños y muchas acusaciones. ¿Pero ir? A Go no le importa en qué plataforma estés. Compílelo una vez y se ejecutará prácticamente en cualquier lugar. Es la actitud de "Claro, lo que sea" del mundo de la programación.
Y si eres alguien a quien le encanta escribir contenedores Docker (y seamos realistas, ¿a quién no le encanta un buen contenedor?), los binarios de Go son un sueño hecho realidad. Un único binario vinculado estáticamente que no depende de que el entorno de ejecución sea "perfecto" es el equivalente a tener un compañero de cuarto que realmente lava los platos sin que se lo pidan. Es demasiado bueno para ser verdad, pero aquí estamos.
Ahora sé lo que estás pensando: "¿Pero qué pasa si solo quiero crear pequeños proyectos paralelos?" Claro que podrías. Pero seamos realistas. En el momento en que escuches que Google, la compañía que controla la mayor parte de Internet, creó Go, sentirás que estás empuñando una poderosa herramienta diseñada para dominar el mundo. Claro, probablemente comenzarás con un pequeño servidor web o alguna API, pero en el fondo, sabes que podrías construir el próximo sistema a escala de Google con esto si realmente quisieras.
Así es: Go está diseñado para escalar, pero no te preocupes, nadie te juzgará si tu primer proyecto es una aplicación de lista de tareas pendientes. (En realidad, podría hacerlo. Sólo un poco).
A todos nos encantan los proyectos de código abierto, ¿verdad? Nos da esa sensación cálida y difusa de ser parte de una "comunidad". Bueno, Go es de código abierto y puedes revisar el código si lo deseas. ¿Realmente contribuirás con algo? Probablemente no. Pero solo saber que podrías si sintieras que es suficiente, ¿verdad?
Puedes decirle a la gente en las reuniones: "Sí, estoy trabajando con Go; es totalmente de código abierto, es excelente para la comunidad". Luego simplemente siéntate y disfruta de los respetuosos gestos de tus compañeros. Nadie necesita saber que sus contribuciones reales consisten principalmente en repositorios destacados en GitHub.
Mira, todos hemos sido parte de comunidades de programación que son... bueno, digamos que pueden ser "entusiastas". Algunas comunidades lingüísticas (no damos nombres, pero usted sabe quién es) pueden resultar un poco intimidantes con sus "mejores prácticas" y sus constantes críticas sobre la forma correcta de escribir un bucle for. ¿Pero la comunidad de Go? Es como un soplo de aire fresco. Son comprensivos, útiles y no te harán sentir como un idiota por hacer una pregunta simple. Es casi inquietante lo fríos que están.
Tal vez sea porque el lenguaje en sí no intenta ser demasiado complicado, por lo que nadie siente la necesidad de actuar con superioridad. Cualquiera sea el motivo, la comunidad Go es el tipo de lugar donde encontrarás apoyo real en lugar de controles disfrazados de "consejos".
Entonces, ¿por qué todos deberían aprender Go? Porque es simple sin ser estúpido, rápido sin armar un escándalo y lo suficientemente poderoso como para manejar cualquier proyecto loco que le propongas. Es como ese amigo que siempre está tranquilo, sereno y de alguna manera se las arregla para ser ridículamente productivo sin que parezca un trabajo duro.
Si estás cansado de los lenguajes que te miman o te exigen sacrificar tu cordura, Go es tu lugar ideal. Pruébelo y quién sabe: es posible que se convierta en ese desarrollador demasiado entusiasta de la oficina. Y, sinceramente, ¿no sería divertido?
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3