Salutations. Dijkstra a écrit que même quelques lignes de code apparemment simple pouvaient être désespérément ambiguë. Dans au moins une œuvre que je ne trouve pas maintenant pour sauver ma vie, il a donné un petit exemple de programme pour démontrer cette ambiguïté. Quelqu'un peut-il m'indiquer un de ses papiers où il inclut l'un de ces exemples?
12
FILE_NOT_FOUND
;)Êtes-vous sûr que le document a été rédigé par Dijkstra? Les réflexions sur Trusting Trust de Ken Thompson semblent être ce à quoi vous pensiez. Il montre comment des programmes absolument simples, directs et corrects peuvent finir par faire quelque chose d'absolument inattendu qui n'est pas du tout visible dans la source. Même si ce n'est pas ce à quoi vous pensiez, c'est un article intéressant à lire.
Dans une autre direction, si vous voulez d'excellents exemples de programmes courts avec un comportement surprenant, le concours C sournois est génial. Par exemple, regardez le gagnant de 2008 . Le défi consistait à écrire un programme en ligne de commande pour masquer une partie d'une image, de telle sorte que l'image soit parfaitement masquée visuellement, mais le fichier conserve certaines informations sur la partie caviardée de l'image. ET de telle manière que votre code puisse passer l'examen du code. (Vous pouvez choisir le format dans lequel l'image est stockée.)
la source