Langages de programmation cs.PL

3 articles

articles

Les propriétés comme boussole : programmer avec précision
Le brouillard s'épaissit autour de la ligne « def max(a: Int, b: Int): Int ». Que fait-elle ? Elle retourne le plus grand de deux nombres, mais comment le vérifier ? On peut écrire une dizaine de tests avec des paires concrètes : max(2,3)=3, max(5,5)=5, max(-1,0)=0. Et pourtant, une inquiétude demeure : et si, pour un million et moins un million, elle se cassait ?
Compiler une fois, différencier partout
Un interprète est assis dans la salle de réunion et traduit chaque mot. Mais voilà qu'il remarque que sa traduction pourrait être améliorée s'il apprenait de ses erreurs. Il commence à noter les phrases qui ont causé des incompréhensions et les corrige. Au bout d'une heure, sa traduction est plus précise et la réunion se déroule plus vite.
Contrôle douanier pour le code : comment garantir une optimisation sans faille des programmes pour enfants
Un enfant assemble dans Scratch un jeu simple : le personnage apparaît au centre et saute instantanément dans un coin. Le premier déplacement disparaît entre les images — personne ne le voit. Supprimer une telle commande est sans danger. Mais comment un optimiseur automatique peut-il le savoir ?