Este artículo, escrito por Dmitry Kudryavtsev, narra su viaje desde los inicios de la programación con Pascal y C, pasando por la frustración de no poder aplicar sus conocimientos de bajo nivel en el desarrollo web con C/C++, hasta su incursión y posterior abandono de Rust. La historia es una reflexión sobre las ventajas y desventajas de usar lenguajes de sistemas como Rust en un contexto de desarrollo web moderno.
El autor comenzó programando en Pascal y C, donde se sintió atraído por el control preciso sobre la memoria y la gestión de recursos que estos lenguajes ofrecían. Tras varios proyectos personales (clones de juegos, renderizadores 3D, bots IRC, incluso un kernel de sistema operativo), se vio obligado a adoptar PHP para su primer trabajo en desarrollo web. Aunque PHP era funcional, el autor extrañaba la capacidad de optimización de bajo nivel que ofrecían C y C++.
La aparición de Rust le pareció una solución ideal: combinaba el control de bajo nivel con herramientas de desarrollo modernas como un compilador robusto, linters, formatters y gestión de paquetes. Inicialmente, el autor se enamoró de Rust y lo utilizó para construir una aplicación web que generaba ingresos. Sin embargo, con el tiempo, se enfrentó a desafíos significativos, especialmente en lo que respecta a la generación de plantillas y la internacionalización. El autor lamenta la falta de plantillas de tipo seguro en Rust comparado con las que ofrece Typescript en Astro, y la dificultad de integrar funciones complejas en las plantillas sin recurrir a soluciones macro que incrementan el tiempo de compilación.
Finalmente, el autor tomó la difícil decisión de migrar su aplicación web a Node.js. Aunque lamenta el abandono de Rust, reconoce que, en su caso particular (un desarrollador individual construyendo una aplicación web sin requerimientos de rendimiento extremo), las ventajas de Rust no superan sus desventajas. El artículo sirve como una advertencia: aunque Rust es una herramienta poderosa, no es una solución universal y su adopción debe ser cuidadosamente considerada en función del contexto del proyecto. La experiencia le permitió adquirir valiosas conexiones y presentar su trabajo en conferencias, demostrando que la experimentación con nuevas tecnologías, aunque no siempre tenga éxito, puede ser muy enriquecedora.
