My HelloWorld in Go
En esta ocasión y desde muy temprano voy a compartirles algo de lo que me gusta compartir, nada de esos fashionismos que hoy en día abundan respecto a cosas como hacer el rosado más rosado de un botón, jajaja (puros fashionismos).
Hace unos días tuve la oportunidad de tropezarme con una conferencia en video dictada por un man, a diferencia del poco de pelaos que hoy en día dictan conferencias acerca de cosas fashion que hacen la vida mas fácil de aquellos que no se afrontan a los verdaderos problemas computacionales, que tristemente les hacen sentir son la última coca cola y tienen en último yeré en aportes a las ciencias de la actualidad. Incluso el 29 no se considera un hombre de ciencias de la computación formalmente hablando, simplemente se define como un mortal apasionado de lo mismo, pero que se enfoca a las cosas que considera realmente tienen el talento y el nivel de yeré digno de un hombre de ciencias de la computación. Llámenme egocéntrico si se hacen felices; sin embargo, parece que en la naturaleza el centralismo funciona bien (el núcleo de los átomos, las estrellas, y muchos otras cosas que giran alrededor de las que reciben la mayor importancia); así pues porque no tener teofi-ideas que sean el centro de giro de sus cerebros jajajaja.
Tras el controversial relato anterior que solo busca intimidar y guarusear a algunos de los bajitos de sal de mis amigos, entro en materia: el man a diferencia de los jóvenes de hoy en dia que usan camisetas con algun logo, zapatos coletos, y jeans a la moda para parecer precursor del algún estilo social de moda, vestía seriamente y reflejaba largos años de experiencia wapeando; hablaba acerca de un lenguaje de programación reciente de Google que buscaba hacer esas cosas dificiles más facil y de manera transparente para los programadores. Aquel wapeador hablaba de concurrencia, les traigo a relación la frase con la que robo mi atencion: "Concurrencia no es paralelismo", aquí dije esto es para el 29. Tiene relevancia mencionar que a diferencia de los pelaos de hoy en día no se preocupaba por ser chistoso, simplemente wapeaba y ya.
Luego de conocer el lenguaje elaboré mi primer HolaMundo, que como es un hábito para mi no es nada que diga por pantalla HolaMundo. Por el contrario elaboré un código en GO que calcula el factorial de un número utilizando particiones en rutinas que se disparan de manera concurrente para ejecutar factores parciales, soportadas por una rutina que las multiplexa y maneja su concurrencia teniendo en cuenta que de manera transparente las rutinas pueden terminar en cualquier orden y no debe ser un impedimiento o un tiempo muerto para calcular el producto total. Lo anterior es una muestra simple y concisa ante mis ojos del uso de este nuevo lenguaje. En mi HeloWorld aparecen conceptos como los canales y el multiplexor que evidencian un patrón de concurrencia y algunas instrucciones con sintaxis que pueden traumatizar a algunos o quizás a pocos.
Está bien, menos paja, y más código:
Algunas pruebas del HelloWorld calculando el factorial de 20 usando 4 particiones concurrentes:
Comentarios
Publicar un comentario