On s'attache ici à présenter un certain nombre d'outils de programmation. On délaisse les aspect techniques de construction d'un programme exécutable (compilateur, éditeur de liens, chargeur, ...) pour s'intéresser plus spécifiquement aux outils qui se placent en amont de la génération de code (langage de commande, éditeur, metteur au point, ...). En fait, l'apparition des environnements intégrés de développement de projet tend à effacer progressivement la frontière entre ces deux traits de la programmation, au profit d'une gestion uniforme des documents qui prennent part à la réalisation d'un projet informatique.
1. Les critères
3.1. La nature d'Objet : les éditeurs classiques
3.2. La nature de Type : la macro-génération
3.3. La nature de Classe
4. La nature d'Objet structuré
4.1. La structure d'Arbre : les éditeurs de documents
4.2. La structure d'Arbre : les éditeurs graphiques
4.3. La structure de Graphe : les hypertextes
5. La nature de Type structuré
5.1. La structure d'Arbre : les éditeurs syntaxiques
5.2. La structure d'Arbre : les environnements dédiés à un langage
5.3. La structure d'Arbre : les environnements de gestion de projet
5.4. La structure d'Arbre : les éditeurs sémantiques
5.5. La structure de Graphe : les hypertextes
5.6. La structure de Graphe : les éditeurs de données
5.7. La structure de Graphe : une approche LOO (Langage Orienté Objet)
6. La nature de Classe structurée
6.1. La structure d'Arbre : T.A. (Type Abstrait)
6.2. La structure d'Arbre : la méthode déductive
6.3. La structure d'Arbre : l'environnement monolingual
6.4. La structure d'Arbre : les environnements monolinguaux dédiés
6.5. La structure d'Arbre : la programmation paramétrée