1. Paradigmes de programmation
Institut National des Télécommunications et des
Technologies de l’Information et de la Communication
Présenté par :
SIDI ALI MEBAREK Mahfoud
BEKHEBOUCHA Oussama
Encadré par :
Mr. HACHEMI Rabie
2. PLAN DE TRAVAIL
INTRODUCTION
CHAPITRE I : Définitions
CHAPITRE II : Langages , Paradigmes et Concepts
CHAPITRE III : Etude de quelques paradigmes
CONCLUSION
2
3. INTRODUCTION
• Dans le cadre de ce travail, nous avons
essayé de mettre en relief les
paradigmes de programmation et leur
importance comme outil de réflexion .
• Il est impossible d’étudier tout les
langages de programmation, on
s’intéresse donc plutôt aux paradigmes.
3
4. CHAPITRE I : Définitions
• Paradigme :
Un paradigme est un point de vue particulier sur la réalité, un
ensemble de prédispositions qui conditionne notre perception .
• Programmation (informatique):
l'acte d'étendre ou de mettre à jour la fonctionnalité d'un système
informatique en lui décrivant le comportement à adopter.
Elle consiste en une science , et une technologie.
4
5. CHAPITRE I : Définitions
• Langage de Programmation :
Langage artificiel conçu pour programmer des
ordinateurs, chaque langage est définie par :
Une syntaxe ( ce qui est écrit )
Une sémantique (ce qui est compris par l’ordinateur)
On distingue 3 catégories selon le niveau d’abstraction:
Langage machine
Langage assembleur
Langage évolué
5
6. CHAPITRE I : Définitions
• Paradigme de programmation :
Une approche prise pour programmer un ordinateur.
Il existe plusieurs paradigmes de programmation, chacun
supportant une façon de décrire des comportements.
Exemple de paradigmes : impératif, procédural, orienté
objet, orienté aspect.
6
9. • Paradigme Impératif :
CHAPITRE III : Etude de quelques paradigmes
9
Commandes Résultat
Données
Analogies :
• Variable Case mémoire
• Déréférencement d’une variable Chargement d’une instruction
• Structures de contrôle Sauts
10. CHAPITRE III : Etude de quelques paradigmes
• Paradigme fonctionnel :
Absence de variables mutable, d’affectation de boucles
Il n’y a que des fonctions
Tout comportement est un enchainement de
transformations
Chaque fonction est une boite noire
Bon modèle de décomposition de problème, permettant
aussi une analyse ascendante et descendante.
10
11. • Paradigme Logique :
Ne se base que sur des prédicats logiqueS et des lois
d’inférence
Un programme logique est déclaratif
On y définit le « quoi » non pas le « comment »
Bon outil de raisonnement limité par ses propres lois
et les prédicats
CHAPITRE III : Etude de quelques paradigmes
11
12. • Paradigme Orienté Objet :
S’intéresse aux données plutôt qu’aux traitements
Tout entité du monde est un objet
3 Principaux de base :
L’héritage
Le polymorphisme
L’encapsulation
CHAPITRE III : Etude de quelques paradigmes
12
13. CHAPITRE III : Etude de quelques paradigmes
• Programmer en objet ?
Identifier les acteurs du programme
Ce qu’ils doivent savoir des autres acteurs
Identifier les aspects communs
Etablir une hiérarchie de classe
Décrire les échanges entre ces acteurs
13
15. • Pourquoi étudier les paradigmes de programmation :
Faire de meilleures choix et éventuellement bénéficier de
l’ensemble du domaine informatique .
Mieux comprendre les langages de programmation et ainsi en
faire un meilleur usage .
Apprendre plus aisément de nouveaux langages.
Etre en mesures de comparer les langages.
Facilite la création de nouveaux langages.
CHAPITRE III : Etude de quelques paradigmes
15
16. CONCLUSION
Dans ce travail, nous avons mis en relief le concept de
paradigme de programmation, sa relation avec les langages, et
son évolution dans le temps. Il est clair que cette évolution se
rapproche de plus en plus de la pensée naturelle de l'homme.
L'exposition à plusieurs paradigmes de programmation permet
d'avoir un panel d'approches et une multitude de solutions à
chaque situation
16
17. BIBLIOGRAPHIE & WEBOGRAPHIE
• Cloutier JF. Apport de différents paradigmes de programmation comme autant
d'outils de pensée.
• Van Roy P. Les principaux paradigmes de programmation, UPMC, 2008.
• Van Roy P. Programming Paradigms for Dummies: What Every Programmer Should
Know.
• Van Roy P, Hairidi S. Concepts, Techniques and Models of Computer Programming,
MIT Press, 2004.
• Brichau J, Mens T. Paradigmes de Programmation, 2007.
• Nelson J, Monarchi D, Nelson K. Evaluating Emerging Programming Paradigms: An
Artifact-Oriented Approach, 1998.
• Grogono P. The Evolution of Programming Languages, Concordia University, 2004.
o http://isabelle.thieblemont.pagesperso-orange.fr/poo/poointro.htm
o http://www.cs.nthu.edu.tw/~cherung/teaching/2010cs1356/
o https://www.coursera.org/course/progfun
o http://c2.com/cgi/wiki?LogicProgramming
o http://en.wikipedia.org/wiki/Functional_programming
17