Un langage facilite la résolution de classes de problèmes : C: système d'exploitation (Unix/Linux)… C++: applications de grande taille… JAVA,C# : applications de grande taille, web… LISP: prototypage, systèmes experts…
4
Paradigmes des langages évolués (dits aussi de haut niveau) Désigner: – Expliciterune entité en la nommant et en lui associant une définition (au moins intuitive) Typer: – Connaîtreles propriétés pertinentes d'une entité Paramétrer: – Traiterun problème plus général que le problème posé – Améliorerla résistance de la solution aux changements – Réutiliser
5
Paradigmes des langages évolués (dits aussi de haut niveau) (1b) Sérialiser: – Construiredes séquences d'actions Décomposerpar cas : – Découperle domaine des données initiales Itérer: – Introduireun sousproblème intermédiaire paramétré
Réduire la complexité d'un problème
6
Les types de programmation
Application informatique : Mise en oeuvre des traitements des données et des relations entre les deux. Génération 1 : Programmation Spaghettis : Assembleur,Fortran I, Basic Logiquede saut « goto ». Absence totale d'entités autonomes et modifiables indépendamment du reste du programme. Codeet données étroitement imbriqués.
7
Les types de programmation (2)
Génération 2 : Programmation Structurée : Pascal,C, Algol, Perl, Python Expressionséparée des données et des traitements. Modularité: – Donnéestypées. Possibilité de création de types complexes. – Structuresde contrôle remplaçant les sauts. – Notionde sousprogrammes et compilation séparée (entités autonomes).
8
Les types de programmation (3)
Génération 3 : Programmation par Objets : Simula,SmallTalk, Eiffel, C++, Pascal objet, Java, C# Modularitéqui regroupe les données et les traitements dans une même entité appelée objet. Lesobjets peuvent être vus comme des tentatives de simuler une situation réelle (objets « chronomètre », « voiture »). Les objets réels ne sont ni des traitements purs, ni des données pures mais une combinaison des deux.