I linguaggi di programmazione e i programmi (così come le singole funzioni, oggetti, ecc.) sono spesso descritti come "sicuri" in un modo o nell'altro. Ad esempio, potrebbero essere "sicuri", "sicuri per memoria", "eccezionalmente sicuri", "thread safe" - anche "rientranti". Ognuno di questi concetti riguarda l'impedire l'esecuzione di codice errato o dannoso, il che li rende importanti considerazioni nella progettazione di linguaggi e programmi.
Quindi, se volessi essere super-pedante sulla sicurezza, quali sono i diversi tipi di sicurezza che potrei prendere in considerazione? O potrebbe esserci un numero qualsiasi di loro, lasciandomi sperare di conoscere tutti quelli che potrebbero essere importanti per me?
Il contesto della domanda implica il confronto di linguaggi come Haskell in linguaggi come il C ++: Haskell puro è ottimo se vuoi garantire sicurezza di tipo, memoria e thread. In C ++, possiamo eludere qualcuno di questi. Quindi stavo pensando: "Se volessimo creare un linguaggio perfettamente sicuro, quali sono tutti i tipi di" sicurezza "che potremmo prendere in considerazione?"