Académique Documents
Professionnel Documents
Culture Documents
Paradigmes de Programmation
Naoufel KHAYATI
nkhayati@gmail.com / naoufel.khayati@eniso.u-sousse.tn
Objectifs du Cours
2
CHAPITRE 1
Naoufel KHAYATI
nkhayati@gmail.com / naoufel.khayati@eniso.u-sousse.tn
AU. 2022 - 2023
Langage de Programmation
4
Langage de Programmation
5
Langages de Programmation
6
C Cobol ADA
C++ Fortran Pascal
C# Ruby HTML
Java Kotlin Scala
Python
Objective C Perl
Swift
R Smalltalk
Go
Javascript Matlab Ocaml
VB PHP SQL (PL-SQL / T-SQL)
…
Langages de Programmation
7
Nombre de langages
Langages de Programmation
8
Évolution de la discipline
Langages de Programmation
9
Langages de Programmation
10
Préférences personnelles
récursivité ou itération ?
Langages de Programmation
11
Langages de Programmation
12
Puissance d’expression
Langages de Programmation
13
Facilité d’utilisation
facilité
d’apprentissage pour un débutant
transportabilité de l’implémentation
absence de freins légaux ou commerciaux
Langages de Programmation
14
Paradigmes de Programmation
Paradigme – Définition
15
Sens 1
Sens 2
Ensemble d’unités qui peuvent se substituer les unes aux
autres.
Paradigme – Définition
16
Sens 3
Thomas Kuhn dans son ouvrage « La
structure des révolutions scientifiques »
(1962) définit un paradigme comme :
Paradigme – Définition
17
Sens 4
Manière d'utiliser des techniques et des exemples propres
à chaque problème.
Exemple : Les paradigmes de programmation
Synonymes
Exemple
Modèle
Patron (Pattern)
En arabe
مثال
نموذج
Paradigme informatique
18
19
Paradigmes de
Programmation
Paradigme de Programmation
20
Un style de codage
Paradigme de Programmation
21
Paradigme de Programmation
22
Paradigme Impératif
23
Paradigme Impératif
24
Calcul de la somme
Paradigme Procédural
25
Intérêt :
Modularité.
Réutilisation du code.
Meilleure lisibilité (éviter les goto / branchements).
Paradigme Procédural
26
Appel de la fonction
Paradigme Déclaratif
27
Paradigme Fonctionnel
28
Paradigme Fonctionnel
29
int i = 0;
for(w in words)
if(w.length > 10) {longWords[i]=w; i++}
Paradigme Objet
30
Paradigme Objet
31
Exemple
Classe « Rectangle »
Paradigme Objet
32
Paradigme Objet
33
C#, JAVA
Paradigme Objet
34
Paradigme Logique
35
Paradigme Logique
36
Paradigme Logique
37
Exp. SmallTalk
Paradigme Modulaire
39
Maintenabilité
Réutilisabilité
Robustesse
Autres paradigmes
40
Programmation Distribuée
Programmation Synchrone
Programmation Asynchrone
…
Choix du langage…
41
Est-il polyvalent ?
C++ est le couteau suisse de la programmation : plusieurs niveaux d’abstraction, sans
sacrifier la performance.
Clarifier la définition.
Difficultés de la normalisation
Organismes de normalisation
Exemples
C
l’important est de ne pas invalider les compilateurs des
fabricants de logiciel représentés dans le comité.
travail effectué par l’ANSI
ANSI-C
Pascal
conflitentre l’ISO et l’ANSI
deux extensions
ensuite, définition d’un nouveau langage
Aspects associés
46
Aspects Lexicaux
Alphabet, Vocabulaire.
Analyse lexicale.
Aspects Syntaxiques
Syntaxe, Grammaire.
Analyse syntaxique.
Aspects Sémantiques
Résolution des noms, vérification des types.
Analyse sémantique.
Pour Finir…
47
Pour Finir…
48
49
A SUIVRE…