En programmation informatique, la programmation par intention (PPI, en anglais intentional programming, IP) est un paradigme de programmation qui permet au code source du logiciel de refléter précisément l'intention du développeur lors de la conception. En respectant le niveau d'abstraction de la pensée du programmeur, la revue et la maintenance des programmes informatiques devient plus facile étant donné que le lecteur du code source n'a plus à comprendre l'implantation que le développeur a choisie pour savoir ce que le programme est censé faire. Le concept a été introduit par Charles Simonyi alors qu'il dirigeait une équipe chez Microsoft Research. Son groupe a développé un environnement de développement intégré nommé PPI qui démontre ce concept. Pour des raisons encore obscures"Simonyi a eu envie d'utiliser son idée hors du laboratoire et de la mettre devant au service des clients. Il explique, qu'il était peu réaliste, alors que Microsoft faisait d'énormes avancées avec .Net à court terme, d'envoyer quelqu'un d'autre, de la même organisation, dire aux clients que ce n'était pas la bonne manière de faire les choses (...)'" (citation de "Partie II : Quelque chose que vous pouvez faire, je peux le faire Méta: touriste de l'espace et programmeur milliardaire Charles Simonyi a conçu Microsoft Office. Maintenant il veut reprogrammer le logiciel."], Mardi 9 janvier 2007, Scott Rosenberg, Revue de Technologie de l'institut de technologie du Massachusetts (MIT).), Microsoft a interrompu le développement sur PPI au début des années 2000. Une présentation de la programmation par intention est disponible dans le chapitre 11 du livre Generative Programming: Methods, Tools, and Applications, de Krzysztof Czarnecki et Ulrich Eisenecker. Comme envisagé par Simonyi, développer une nouvelle application par l'intermédiaire du paradigme de programmation par intention procède comme suit. Un programmeur crée d'abord une boîte à outils spécifique au domaine du problème donné (par exemple l'''assurance-vie).