si le compilateur savait exactement ce qu'il y a dans notre tete il serait en mesure de produire en quelques secondes le code optimal répondant à un probleme donné. Un langage de programmation puissant est un langage qui ne définie pas des régles de traduction de code humainement lisible en code machine mais plutot un langage qui définie des regles de communication de l'humain vers le compilateur. A méditer, non ?
On retrouve un peu ca dans certains langages (je dis ca mais je connais pas beaucoup de langages), genre en C++ avec "const" et en C99 avec "restrict".
Et il y a une certaine logique, si le compilateur peu déterminer avec plus de précision ce qu'essaie de faire ce con d'humain, il se posera moins de question au moment de l'optimisation pour respecter la sémantique. C'est pour ca qu'en C les codes genre "vazi moi g sé c koi un pointer jme la pete j'en met partout" sont peut optimisables par le compilateur "mais a quoi il joue ce con ? allez je lache l'affaire".