La programmation littéraire est une stratégie qui sert comme une alternative à la programmation structurée. L'idée sous-jacente à ce type de programmation est de permettre aux développeurs de se concentrer davantage sur la logique et le flux de leurs processus de pensée lors de l'écriture des programmes, plutôt que d'exiger que la programmation soit écrite d'une manière qui est mandaté par l'ordinateur sur lequel le logiciel est destiné à l'emploi. Avec cette approche, le programmeur se concentre davantage sur la façon la plus logique d'écrire la programmation de sorte qu'il atteint le résultat souhaité, se concentre ensuite sur la façon de programmer l'ordinateur pour que le logiciel fonctionne correctement.
Contrairement à la programmation structurée, la programmation littéraire a souvent recours à des communes le langage courant combiner avec le code source qui est considérée comme traditionnelle. Cette approche permet au programmeur de créer des macros qui sont descriptive et explicative dans la nature, sur la base des processus de pensée du programmeur. Le résultat final est la création d'un langage qui recouvre le langage de programmation sous-jacent à ces phrases explicatives. Avec la programmation littéraire, la documentation du code est considérée comme égal au code lui-même, plutôt que d'être une filiale ou auxiliaire dans la nature.
Un autre aspect qui permet de distinguer la programmation littéraire de la programmation structurée est la façon dont les éléments des programmes interagissent les uns avec les autres. Dans les situations de programmation structurée, l'interaction est plus verticale ou hiérarchique dans la conception. À l'approche de l'écrit à la tâche de programmation, les éléments sont considérés en termes d'une mosaïque entrelacée, dans lequel les éléments sont plus ou moins égale à une autre.
Les partisans de la programmation littéraire font généralement l'affirmation selon laquelle cette approche particulière, il est nécessaire pour les programmeurs d'articuler les processus de pensée qui entrent dans le programme. Ceci offre l'avantage d'être en mesure d'identifier des failles dans la logique de la programmation avec plus de précision, et de mettre en œuvre les changements ou modifications qui permettent la programmation de fonctionner avec plus de précision et d'efficacité. En outre, la nature même de cette approche contribue à créer une piste de documentation qui rend plus facile de reconstituer la logique appliquée à la tâche, du début à la fin. En termes d'adaptation du code pour les applications spécifiques des utilisateurs finaux, ce qui rend plus facile de suivre le courant de la logique pour le programme de base, et d'identifier un point de bifurquer dans le but d'exécuter une tâche spécifique. A partir de ce point, le programmeur peut ajouter ou de modifier le code de sorte que les fonctions essentielles ne sont pas altérées, et la nouvelle fonction est facile à intégrer dans le processus global.