Paradigmes de Programmation

Slides:



Advertisements
Présentations similaires
OC Informatique.
Advertisements

Cours n° 1 Introduction à la programmation
Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
Langage de modélisation objet unifié
Introduction: Concepts de la programmation
Piles, files et listes: notions théoriques
Treuil IRD Abdelwahed FSSM-Marrakech
Programmation par Objets 1 Module IN504 Animé par : Marianne Huchard Marie-Laure Mugnier Khalil Ben Mohamed
A propos de java Sun, fin 1995 C++ nettoyé semi-interprété
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Conception de Programmes Evolutifs Pré Soutenance de TER Année Encadrants : Cathy Escazut et Michel Gautero Auteurs: Paul-Kenji Cahier Sylvain.
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
INTRODUCTION.
UML (Unified Modeling Langage)
Architecture de machines Principes généraux
CSI3525: Concepts des Langages de Programmation Notes # 5: Langages de Programmation Fonctionelle I: Introduction au Scheme.
Introduction à l’Intelligence Artificielle
MAGNIN Pierre 2 MIC D MAILLARD Adrien 2 MIC D Soutenance le 17/06/09.
Démarche de résolution de problèmes
Expressions et assignations
Traitements d'images et Vision par ordinateur
Programme et Langage C++
Évaluation et implémentation des langages
Les langages de programmation
Paradigmes de Programmation
Bases de la programmation en C++
CSI3525: Concepts des Languages de Programmation
1 IFT 6800 Atelier en Technologies dinformation Chapitre 1 Introduction.
Chapitre 1 Préliminaires.
CSI 3525, Évaluation et Implémentation, page 1 Évaluation et implémentation des langages Les langages de programmation et le processus de programmation.
Portée, arrimages et intervenants Évolution des méthodes
Programmation non procédurale Le projet ECOLE 2000
Sensibilisation a la modelisation
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Structures de données IFT-10541
Patrons de conceptions de créations
Masters IIGLI et IGLII – Programmation générique et conception objet – – Claude Montacié 1 Cours n° 9 Interopérabilité logicielle I Entre C++
Introduction à la programmation orientée objets
Les différents langages de programmation
Démarche Qualité Logicielle
ANALYSE METHODE & OUTILS
Guillaume TORRENTE Marc BOUISSOU Recherche & Développement
Logique programmée & Microprocesseurs
Paradigmes des Langages de Programmation
CORBA Un concept de l ’OMG Mathieu Estival Biomédical, 3°Année.
INTRODUCTION.
E-Technology lab Plateformes, Technologies et Architectures pour les systèmes eGouvernement Par: Dr Mamadou Koné Université Laval, Québec, Canada et Houda.
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Algorithmes et Programmation
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
UML : un peu d’histoire H. Lounis.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
Langages de programmation Ordinateurs = Machines à exécution.  D’où la nécessité d’outils de communication qui s’adaptent le mieux aux utilisateurs. Comment.
CSI 3525, Histoire, page 1 Aperçu historique Voir le chapitre 2 du livre pour plus de détails.
Introduction au Génie Logiciel
Le langage Racket (Lisp)
Histoire de la programmation
Initiation à la conception des systèmes d'informations
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
IFT 232 Méthodes de Conception Orientées Objets Introduction.
21/10/2008 SYSTEME INFORMATIQUE.
Simulation du rôle de la communication dans l’établissement d’un réseau de liens sociaux Projet GPL :
Introduction et Généralités sur l’Algorithmique
No silver bullet Reflexion d ’experts du logiciel sur la difficultée de développer des logiciels fiables Quelles sont les causes Quelles solutions.
Introduction à la Programmation Orientée Objet
UML support à la COO 2ème année IUT Calais-Boulogne Bénédicte Talon
Introduction aux Interfaces Homme-Machine
Abder Alikacem Semaines 1-4 Synthèse
Plus de 4000 langages....
Transcription de la présentation:

Paradigmes de Programmation CSI 2520 CSI2520

Paradigmes de Programmation "Modèle théorique de pensée qui oriente la recherche et la réflexion scientifiques" (Larousse). . Programmation: "Ensemble des activités qui permettent l'écriture des programmes informatiques. Elle représente usuellement le codage, c'est à dire la rédaction du code source d'un logiciel." CSI2520, Hiver 2007

Paradigmes de Programmation Langage : "Une abstraction des opérations réalisée par un ordinateur. Un langage est habituellement domine par un paradigme a partir duquel sa structure a été conçue. Souvent, des éléments issus de différents paradigmes y sont présents." Programmer: "Utiliser un langage afin de se conformer de façon plus ou moins rigoureuse a un ou plusieurs paradigmes de programmation." CSI2520

Paradigmes de Programmation Il n’existe pas de paradigmes uniques bon pour toutes les applications. Tout problème peut etre résolu en se basant sur l’un ou l’autre des paradigmes de programmation CSI2520

Plusieurs Paradigmes programmation orientée objets programmation logique programmation fonctionnelle programmation impérative programmation par scripting/dynamique programmation déclarative programmation orientée aspect Programmation concurrente et plus… CSI2520

CSI2520, Hiver 2007

Pourquoi étudier différents paradigmes? Afin de mieux exprimer des idées complexes Différentes tâches demandent des approches différentes Afin de faciliter l’apprentissage de nouveaux langages Afin de faire les bons choix Afin de suivre l’évolution de l’état de l’art en programmation CSI2520

Historique 1956 Computer Commercial Hal 9000 vs Dave CSI2520

Survol des langages ADA: DoD, systemes embarqu´es, concurrence. Algol: ACM, GAMM, proche des notations math´ematiques, description des algorithmes, ind´ependant de la machine. ANSI C: comit´e ANSI standardisation du C, assure sa portabilit´e, prototypage. APL: K. Iverson, programmationmath´ematique (matrices, vecteurs), difficile a lire. B: K. Thompson, compilateur simple, ´ecriture de UNIX. BASIC: J. Kemeny, T. Kurtz, langage simple et accessible. BCPL: simplification de CPL. C: B.W. Kernigham, D.M. Ritchie, programmation de systeme, langage nonrestrictif, pres de la machine. C++: B. Stoustrup, version orient´ee objet de C, langage hybride, type de donn´ees abstrait. C#: hybride entre C++ et Java concu par Microsoft pour sa plate-forme .Net COBOL: Short Range Committee, pour l' administration, utilisation demots pour en faciliter la compr´ehension. COMMONLISP: comit´e, dialecte de LISP, amalgame de diff´erents dialectes, tentative de cr´eation d' un standard. CPL: ´equivalent nord-am´ericain de Algol, plus pres de la machine. Eiffel: B. Meyer, Caract´eristiques ´etudi´ees pour r´epondre aux besoins de la conception orient´ee objet. FORTRAN J. Backus, conc¸u pour IBM704, efficacit´e du code produit. Java: langage ressemblant au C++ mais avec une meilleure adherence au paradigme OO, concu par J. Gosling a Sun. LISP: J. McCarthy, intelligence artificielle (preuve de th´eoreme), une seule structure de donn´ee: la liste. Miranda: D. Turner: langage fonctionnel pur, ´evaluation pleinement paresseuse. ML: R. Milner, langage fonctionnel fortement typ´e (avec inf´erence). Pascal: N. Wirth, conc¸u pour l' enseignement. PL/I: comit´e 3x3, langage universel, lourd et complexe. Prolog: Groupe I.A. Marseille, systemes experts. Scheme: MIT, dialecte de LISP pour l' enseignement. Simula: K. Nygaard, O.J. Dahl, simulation, introduction de la notion de classe. SmallTalk: A. Kay, premier langage orient´e objet mature, objets etmessages, environnement graphique (fenˆetres). CSI2520, Hiver 2007

Conclusion Pourquoi tant de langages (semblables) ? Java est-il un outil de programmation à tout faire? Analyser de nouveaux paradigmes. Apprendre de nouveaux langages. Passer en revue d’autres paradigmes. CSI2520, Hiver 2007