Absolutistas de la seguridad de memoria: más allá de Rust

Fuentes: Memory Safety Absolutists

El artículo analiza el debate en torno a la seguridad de memoria en lenguajes de programación y arremete contra los llamados «absolutistas», que descalifican a Rust por contar con bloques unsafe sin aplicar el mismo rasero a C, C++ o Zig. El texto parte de una observación: aunque durante años la discusión opuso Rust —que prohíbe en compilación patrones potencialmente inseguros— a C y C++, que delegan esa responsabilidad en el programador, han surgido nuevas herramientas como Fil-C, que añade recolección de basura y un sistema llamado InvisiCaps para panic en accesos inválidos al compilar C y C++. El autor de Zig, Andrew Kelley, anunció recientemente un modo de compilación inspirado en Fil-C.

El argumento central es que Fil-C tiene compromisos reales: incompatibilidad ABI con binarios no compilados con Fil-C, posible sobrecarga de rendimiento y la introducción de un GC, por lo que no puede sustituir a Rust en proyectos como kernels, sistemas embebidos o software que requiere vincular bibliotecas dinámicas. Citando datos de Google sobre Android, donde Rust registra 0,2 vulnerabilidades de memoria por millón de líneas frente a unas 1.000 en C/C++, el autor sostiene que, en la práctica, Rust reduce el riesgo de forma muy significativa. Defiende una postura pragmática frente al absolutismo y concluye que ambas aproximaciones pueden coexistir según los requisitos de cada proyecto.