No.
No existe un lenguaje de programación “seguro”, ni puede existir uno. Si es realmente seguro, entonces no puede usarlo para resolver problemas complejos, esto está relacionado con el teorema de integridad de Gödel: Wikipedia.
La verificación formal es una buena idea … pero tiene límites inherentes que impiden su uso. Ya se ha demostrado que la verificación es una variante para resolver el problema de detención: Wikipedia, que no puede resolverse excepto en casos triviales.
- ¿Con qué tipo de aplicación has trabajado en Linux?
- ¿Son los humanos una combinación de hardware y software?
- ¿Qué software debo usar para crear una maqueta de aplicación?
- ¿Dónde debo hacer la aplicación de mi empresa de inicio y cuánto cuesta?
- Cómo abrir una compañía de software
Eso no significa que el lenguaje utilizado no pueda ayudar. Todo depende de lo que se esté haciendo. Lo mismo vale para la verificación. Puede AYUDAR, pero no puede ser todo lo que hay.
El problema habitual es que las especificaciones del programa son vagas y no necesariamente precisas. Esto lleva a problemas en el programa, incluso con un lenguaje de programación “seguro” (incluso puede ser imposible expresar la especificación en el lenguaje). Dado que las especificaciones son vagas, el resultado no será necesariamente correcto, a pesar de todo el lenguaje de programación “seguro” utilizado Y cualquier verificación formal. Cuando las especificaciones son deficientes, el resultado será deficiente y los problemas de seguridad continuarán.