CSI 3525, Histoire, page 1 Aperçu historique Voir le chapitre 2 du livre pour plus de détails.

Slides:



Advertisements
Présentations similaires
MOT Éditeur de modèles de connaissances par objets typés
Advertisements

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,
Introduction: Concepts de la programmation
GEF 243B Programmation informatique appliquée
Introduction Pour concrétiser l’enseignement assisté par ordinateur
L’architecture .net et ASP.net
Appropriation et extensions d'un logiciel libre de traitement de réseaux bayésiens complexes pour l’appréciation quantitative des risques alimentaires.
UML - Présentation.
INTRODUCTION.
UML (Unified Modeling Langage)
CSI3525: Concepts des Langages de Programmation Notes # 5: Langages de Programmation Fonctionelle I: Introduction au Scheme.
Cours Visual Basic pour Application
CSI3525: Concepts des Langages de Programmation Notes # 11: Sous-Programmes ( Lire Chapitre 8 )
L’ordinateur Aspect théorique
Sous-programmes Concepts généraux Passage de paramètres Fonctions
Introduction au Génie Logiciel
ST40 – Stage Professionnel
Démarche de résolution de problèmes
Paradigmes de Programmation
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Expressions et assignations
Analyse et Conception orientée objet
Initiation à la conception de systèmes d'information
Réalisée par :Samira RAHALI
Introduction à la conception de Bases de Données Relationnelles
Programme et Langage C++
Évaluation et implémentation des langages
Paradigmes de Programmation
RDF(S)
Modélisation orientée objet UML
Etude globale de système.
Algorithmique et Programmation
CSI3525: Concepts des Languages de Programmation
Chapitre 1 Préliminaires.
1-1 Chapitre 5: Les variables Introduction Les noms Les variables Les attributions (bindings) Portée et durée de vie L'environnement de référence Les noms.
CSI 3525, Évaluation et Implémentation, page 1 Évaluation et implémentation des langages Les langages de programmation et le processus de programmation.
Instructions de contrôle
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Programmation logique Le Langage PROLOG
Programmation non procédurale Le projet ECOLE 2000
Sensibilisation a la modelisation
Structures de données IFT Abder Alikacem Gestion des exceptions Module 2 Département dinformatique et de génie logiciel Édition Septembre 2009.
Masters IIGLI et IGLII – Programmation générique et conception objet – – Claude Montacié 1 Cours n° 9 Interopérabilité logicielle I Entre C++
Progrès technique et logique économique : leur liaison interne
Les différents langages de programmation
Logique programmée & Microprocesseurs
PROGRAMMATION WEB FRONT-END.
Paradigmes des Langages de Programmation
Paradigmes des Langages de Programmation
INTRODUCTION.
JavaScript.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
© 2005 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java Peter Van Roy Département d’Ingénierie Informatique, UCL
Le langage Racket (Lisp)
Histoire de la programmation
S'initier au HTML et aux feuilles de style CSS Cours 5.
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.
CSI2520 Un langage de programmation impérative et concurrente.
Introduction et Généralités sur l’Algorithmique
CSI 3525, Types, page 1 Types de donnés Types de donnés primitifs Types de donnés structurées Chaînes de caractères Types énumérés Tableaux Enregistrements.
La programmation par objets Principes et concepts Etude de Smalltalk.
Soutenance du mémoire de synthèse
Karine Vallin - Dorian Baysset
Abder Alikacem Semaines 1-4 Synthèse
Café In: A quoi ca sert la recherche sur la programmation? Comment peut on faire travailler des ordinateurs ensemble? Ludovic Henrio SCALE TeamSCALE Team.
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
Plus de 4000 langages....
Transcription de la présentation:

CSI 3525, Histoire, page 1 Aperçu historique Voir le chapitre 2 du livre pour plus de détails.

CSI 3525, Histoire, page 2 Les pionniers de la programmation Charles Babbage ( ): Invente la « machine analytique ». Sa compagne, Ada Augusta Lovelace, est considérée comme la première programmeur. Konrad Zuse (1942): Développe Plankalkül. Cette notation (jamais implémenté) fut un précurseur des langages de programmation.

CSI 3525, Histoire, page 3 Langages de très bas niveau Ces langages machine et assembleurs sont dépendant du hardware. Initialement binaires, puis éventuellement symboliques. Il y a un unique langage machine, et habituellement un seul langage assembleur pour chaque type de processeurs. La compatibilité ascendante est souvent très difficile. Aller des 386 to 486, ou due 486 aux Pentium?

CSI 3525, Histoire, page 4 Fortran Le premier langage de haut niveau a avoir été implémenté. Introduit les variables, tel que nous les connaissons, les boucles, procédures, étiquettes… Développé pour le calcul scientifique. La première version avait plusieurs caractéristiques unique, souvent disgracieuse, mais conserver pour maintenir une compatibilité descendante. Encore beaucoup utilise pour des applications d’ingénierie nécessitent beaucoup de manipulations de tableaux. La dernière version, Fortran 90, converge vers les autre langages de programmation.

CSI 3525, Histoire, page 5 Algol 60 Le premier langage a introduire les blocs et la récursivité, et à être défini formellement. N’est plus utilisé mais est un ancêtre de plusieurs langages contemporains. Peut-être le langage le plus innovateur de l’histoire des langages de programmation.

CSI 3525, Histoire, page 6 Cobol Oriente vers le traitement de données (Business applications) –Organisation très stricte –Structures de contrôle faibles –Structures de données élaborées, les enregistrements (records) sont introduit. Populaire dans le monde des affaires et du gouvernement, moins dans les universités. A vécu un regain d’intérêt lors de la « crise » de bug de l’an 2000.

CSI 3525, Histoire, page 7 PL/I Une combinaison des meilleurs éléments (tel qu’on pensait à l’époque) de Fortran, Algol 60 et Cobol. –Conçu pour être complètement général, pour être utilise pour toute application de l’époque. –Encouragé par IBM –Peu utilisé aujourd’hui. Introduit la manipulation d’ événements (event handling).

CSI 3525, Histoire, page 8 Basic Le premier langage utilisé en informatique personnelle (personal computing). Le premier langage appris par plusieurs programmeurs: Conçu pour être facile a apprendre. Très simple, puissance limitée, mais peut être utilise dans plusieurs domaines d’application Les versions de Basic utilisées aujourd’hui sont plus complexes.

CSI 3525, Histoire, page 9 Simula 67 Une extension d’Algol 60 conçu pour la simulation de processus concurrents. Introduit les concepts de programmation orientée objet: classes et encapsulation. Prédécesseur de Smalltalk et C++. N’est plus utilisé.

CSI 3525, Histoire, page 10 Algol 68 Sa conception est d’une élégance toujours inégalée. Complètement orthogonal. Très difficile a implémenter. Une description formelle habile, mais difficile à comprendre. Jamais vraiment utilisé.

CSI 3525, Histoire, page 11 Pascal Une version simplifié d’Algol 60. Populaire pour l’enseignement de la programmation structurée. Un bon « premier langage » à apprendre, favorise de bonnes habitudes de programmation. Ces extensions (comme Delphi) sont des systèmes de programmation complets, aussi puissant que des environnements Java, par exemple.

CSI 3525, Histoire, page 12 Modula-2 Un successeur de Pascal, plus conceptuellement uniforme. Mécanismes de programmation concurrente (plusieurs processus en parallèle). Peux utilisé, biens que ce soit un bon langage. Ces successeurs, Modula-3 et Oberon,sont encore plus attrayants, pratiques — et peu utilisés. (supplantés par C++.)

CSI 3525, Histoire, page 13 Ada Le résultat d’un processus de conception très élaboré, à plusieurs étapes, et un tentative plus réussie que PL/I d’obtenir un langage générale. Complètement standardisé: ne possède aucun dialectes (Java aussi, quoi que Microsoft est triché). 2 standards: Ada 83 (original), et Ada 95. Permet la concurrence de façon élégante et systématique.

CSI 3525, Histoire, page 14 C Utilisé pour implémenter Unix. Utile pour la programmation système et le développement pour les ordinateurs personnels. Populaire dans le passé, toujours utilisé, mais supplanté par C++. Peu de mécanismes de protection. De bas niveau.

CSI 3525, Histoire, page 15 Lisp Un des premiers langages de programmation. Basé sur l’évaluation de fonctions. Utile pour le calcul symbolique. Initialement l’unique langage de l’intelligence artificielle (Prolog est plus jeune de 12 ans). Plusieurs dialectes, (Scheme, Common Lisp). Des successeurs très élégants (Miranda, ML, Haskell) mais peu utilisés.

CSI 3525, Histoire, page 16 Prolog Un langage de très haut niveau. Déclaratif, basé sur un sous-ensemble de la logique, les preuves sont interprétés comme les calculs. puissant: –Non-déterministique (backtracking intégré). –Appariement flexible et élaboré. –Mémoire Associative. –Invocation de procédures orientes vers les patrons. Un outil puissant, entre des mains habiles.

CSI 3525, Histoire, page 17 Smalltalk Programmation orienté objet très pure (plus que Java, beaucoup plus que C++). Intègré a un environnement de programmation et un interface usagé. Un outil puissant, entre des mains habiles.

CSI 3525, Histoire, page 18 C++ L’extension orienté objet du langage impératif C. De conception hybride, avec les concepts orienté objet ajouté a un langage qui n’ était pas conçu pour cela. Syntaxe compliqué, sémantique difficile. Très en vogue et en demande. –Java ne l’a pas encore supplanté.

CSI 3525, Histoire, page 19 Java Une version modifié de C++ beaucoup plus élégante. Pleinement orienté objet (Quoi que pas aussi consistant que Smalltalk) Conçu pour la programmation pour Internet, mais d’utilisation générale. On dit qu’il est lent (pas nécessairement vrai). En vogue.

CSI 3525, Histoire, page 20 Langages Script Traitement de Text –Perl –Python Programmation du Web –JavaScript –PHP

CSI 3525, Histoire, page 21 Langages unifiant les différents paradigmes de programmation. Extensions orienté objet: non seulement C++, mais les dialectes of Lisp (CLOS) et Prolog (XPCE/Prolog, Prolog++). Programmation logique combinée à la programmation fonctionnelle (encore expérimental). Langages concurrents (comme Ada): au lieux d’avoir un processus sur un processeur, permet plusieurs processus en parallèle.