Bonjour,
je suis actuellement en train de lire Types and programming language (pierce etc) et dans l’introduction ils parlent des langages sûr, et c’est un peu brouillon.
Un langage peut être typé, il peut être statiquement vérifié, ou dynamiquement, ou avoir un peu des deux, et pourtant ne pas être safe, selon eux un langage safe c’est un langage qui protège ses propres abstractions, on doit pouvoir déduire le résultat d’un programme avec la doc a coté, et c’est, selon eux, pas le cas des langages comme C et C++, le seul exemple que j’ai en tête c’est qu’on peux aller taper dans des cases de tableaux qui a priori dépassent la capacité qu’on a alloué nous même, et donc se manger un comportement indéterminé.
Mais si dynamiquement ont dégageais des érreurs de bornes de tableau, ça ne ferais pas du C ou du C++ un langage sur pour autant ? j’ai l’impression que chacun a sa petite définition selon ce qu’il utilise mais j’arrive pas a trouver de définition claire et finie de ce que la frontière entre un langage sur et un langage pas sur