Mi luna de miel con el lenguaje Go ha terminado. Este artículo va a tener un tono diferente de lo que he estado publicando el año pasado... Y siempre me siento mal escribiéndolo, porque, inevitablemente, discute cosas en las que mucha gente ha trabajado muy duro. A pesar de eso, aquí estamos. Después de haber invertido miles de horas en el lenguaje, y haber implementado varias piezas críticas (para mi empresa) de infraestructura con él, desearía no haberlo hecho.
|
etiquetas: google , go , golang , rust
Los miles de horas serían el triple con Rust.
Suerte tiene que no se ha encontrado (aun?) con el bug de Windows/Hyper-V que causa que el reloj del sistema se adelante en el tiempo al ejecutar programas escritos en Go.
O un deadlock en el kernel de Windows que bloquea servidores con llamar a cierta api de manejo de tiempo (que el runtime de Go llama con frecuencia) mientras existe otro proceso pineado a una CPU con prioridad máxima.
Está claro que Windows no es una prioridad para Golang, pero tampoco les culpo. Windows es un cancer y deberíamos de hablar seriamente sobre dejar de desarrollar software para este SO.
www.nasm.us/
#7 Go no necesita a POSIX para nada, hay hasta un port para plan9/9front (nada raro como digo).
En todo caso, Go versus Rust es como McLaren versus Ferrari. Los dos están en la Fórmula 1. Otras arquitecturas apenas pueden soñar con la velocidad de ejecución que dan con tan poco esfuerzo.
Pruebas básicas de rendimiento en una de las áreas fuertes de go, el desarrollo web:
www.techempower.com/benchmarks/#section=data-r18&hw=ph&test=fo
P.D.: Casi todos los desarrollos actuales los realizo en go por el balance entre velocidad de desarrollo y resultados.
De todas formas no suelo usarlo, el intérprete de PHP de Windows admite rutas con ambos separadores, incluso mezclados.
www.php.net/manual/es/dir.constants.php