Introduction à la programmation orientée objet. Éric Pruvost



Documents pareils
Évaluation et implémentation des langages

Les Langages Informatiques

Préparation à l examen EFA en Macro

Éléments de programmation et introduction à Java

M Études et développement informatique

Visual Paradigm Contraintes inter-associations

M Études et développement informatique

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

M Études et développement null informatique. R i. Appellations. Analyste cogniticien / cogniticienne informatique

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Le 1 er octobre 2013 sur RegionsJob. Les meilleurs développeurs IT en ligne sur RegionsJob

LOG4430 : Architecture logicielle et conception avancée

Programmation Web. Madalina Croitoru IUT Montpellier

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

les techniques d'extraction, les formulaires et intégration dans un site WEB

Le génie logiciel. maintenance de logiciels.

Cours d Algorithmique et de Langage C v 3.0

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

LOG4430 : Architecture logicielle et conception avancée

Serveur d Applications Web : WebObjects

Environnements de développement (intégrés)

Introduction aux Bases de Données Relationnelles Conclusion - 1

I4 : Bases de Données

Logiciel Libre Cours 2 Fondements: Programmation

Dossier de presse. Août Le Grain de Web : le webmarketing à la portée de tous p 1. Témoignage client de Mélanie Robilliard p 2

Architectures web/bases de données

Notre Catalogue des Formations IT / 2015

Optimisation de logiciels de modélisation sur centre de calcul

Programmation en Java IUT GEII (MC-II1) 1

1 L évolution de l informatique

Les Biolangages. Thierry Lecroq. Université de Rouen FRANCE. university-logo. Thierry Lecroq (Univ. Rouen) MB / 16

LOG4430 : Architecture logicielle et conception avancée

DIRECTEUR / CHEF DE PROJETS / CONSULTANT. «Project Management Institute PMP»

Java - la plateforme

Langage de scripts : historique et définition

Z i e d Z a i e r ( )

Éléments d'architecture des ordinateurs

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

... Conseil. Exp er tise. I ngénierie. Formation

Offres de stages 2011/2012

Catalogue De Formation Pour Les Entreprises

Séance 1 Introduction aux bases de données

Expert technique J2EE

Technologies Web avancées. ING1 SIGL Technologies Web avancées

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Module BD et sites WEB

Objets et Programmation. origine des langages orientés-objet

Algorithmique & programmation

ABACUS vi Version Internet (release 2010)

UML 2.0. (IUT, département informatique, 1 re année) Laurent AUDIBERT

LANDPARK COMMENT ÉTABLIR RAPIDEMENT VOS RAPPORTS

Karim EL KHALIFA Web developer

MASTER CREATION NUMERIQUE / 2015

Systèmes et traitement parallèles

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

NFP111 Systèmes et Applications Réparties

Paul FLYE SAINTE MARIE

Curriculum Vitae. GISBERT Aurélien Ingénieur Informatique INSA Senior Business & Data Analyst Business Intelligence 11 ans d expérience

RESUME DESCRIPTIF DE LA CERTIFICATION (FICHE OPERATIONNELLE METIERS)

Le Framework.Net. Introduction. Pourquoi.Net?

Calendrier FORMATIONS Saison 2014 Formations Informatique - Bureautique - Infographie - Outils graphiques

Hébergement de site web Damien Nouvel

Architecture Orientée Service, JSON et API REST

CHEF DE PROJET - DÉVELOPPEUR SENIOR DELPHI. 50 ans - 16 ans d'expérience

May Lopez PETIT COUTEAU SUISSE CRÉATIF. May Lopez Petit couteau suisse créatif

Introduction à la modélisation

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Cours de Programmation 2

BTS S.I.O PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

DotNet. Présentation de l'offre

Modernisation et développement d applications IBM i Technologies, outils et nouveautés 2012/2013. Volubis.fr

EN INFORMATIQUE ET GESTION

Technique en informatique (Diplôme d études collégiales) Collège de Sherbrooke

Le langage SQL (première partie) c Olivier Caron

CATALOGUE DE FORMATIONS

DotNet. Plan. Les outils de développement

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Les technologies du Big Data

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Moderniser. le système d information et le portefeuille applicatif.

Ergonomie des Interfaces Homme-Machine

Ingénieur Développement Nouvelles Technologies

Attaques applicatives

Catalogue des Formations

Catalogue des formations. Depuis 15 ans, nous soutenons votre évolution. Leadership et potentiel humain Amélioration des processus

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

Catalogue des formations

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Informatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis

CAHIER DES CHARGES D IMPLANTATION

LA MAINTENANCE INFORMATIQUE

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Programmation de services en téléphonie sur IP

Mise en œuvre des serveurs d application

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version septembre 2006

Transcription:

Introduction à la programmation orientée objet Éric Pruvost

Les années 50 Avant l objet

Les années 50 50 Les quatre principaux langages 1956 1958 1958 1959 FORTRAN LISP ALGOL COBOL scientifique lambda-calcul scientifique gestion 2012 ericpruvost75@aol.com page 3/25

Fortran, le premier langage «évolué» 1956 Fortran : Formula Translator Concepteur : John Backus Langage créé pour le calcul scientifique Il est considéré comme le premier langage compilé Encore utilisé aujourd'hui en raison de très nombreuses bibliothèques scientifiques et de ses performances Dernière version : Fortran 2008 2012 ericpruvost75@aol.com page 4/25

Lisp 1958 LISt Processing Intelligence artificielle (années 70, 80) Faible impact dans le monde de l'entreprise Concepteur : John McCarthy Langage interprété Successeur : Scheme (70 ) 2012 ericpruvost75@aol.com page 5/25

Cobol 1959 COmmon Business Oriented Language Informatique de gestion Langage très utilisé de 1960 à 1980 Il est encore utilisé aujourd'hui Version actuelle : COBOL 2002 (objet, XML ) 2012 ericpruvost75@aol.com page 6/25

Algol 1958 Algorithmic oriented Language Introduit le premier la notion de bloc avec : BEGIN END Variables locales, récursivité Grand succès universitaire Faible impact industriel, abandonné aujourd'hui 2012 ericpruvost75@aol.com page 7/25

Algol 1958 Algol 58 Algol 60 Algol 68 Algol W Simula Pascal Modula 2 2012 ericpruvost75@aol.com page 8/25

Les années 60 Les origines de l objet

Simula I (pas encore objet) Simula I (Simple Universel Language) C'est une évolution d'algol 60 le premier langage structuré 1962 Ole-Johan Dahl Kristen Nygaard deux informaticiens norvégiens 2012 ericpruvost75@aol.com page 10/25

Simula I (pas encore objet) 1962 begin integer X; comment Un exemple de programme très simple X:=3; OutInt(X, 4); OutImage end syntaxe inspirée de celle d'algol 2012 ericpruvost75@aol.com page 11/25

Origine de la notion de classe et d objet 1965 Un article publié dans la revue Algol Bulletin en 1965 introduit la notion de classe et d'objet Sir Charles Antony Richard Hoare L'ancêtre du concept d'objet est appelé «record» L'ancêtre du concept de classe est appelé «class record» 2012 ericpruvost75@aol.com page 12/25

Origine de la notion de classe et d objet (2) 1965 2012 ericpruvost75@aol.com page 13/25

Origine de la notion de classe et d objet (2) 1965 Hoare indique dans cet article comment implémenter la notion d'objet dans un langage d programmation, il se base sur Algol mais précise que tout langage peut convenir 2012 ericpruvost75@aol.com page 14/25

Les origines : Simula 67 1967 Simula 67 reprend les travaux de Hoare class Vehicule(immatriculation); value immatriculation; text immatriculation; begin text immatriculation;! attribut... end of Vehicule; ref(vehicule) v; v :- new Vehicule("456EH75"); Propose déjà : classe, instance, méthode virtuelle, encapsulation, héritage 2012 ericpruvost75@aol.com page 15/25

70-90 De SmallTalk à Java

SmallTalk 1971 Sources d'inspiration : Simula 67, Lisp Il a été conçu par Alan Kay, Dan Ingals, Ted Kaehler, Adele Goldberg au Palo Alto Research Center de Xerox. A inspiré : Objective-C, Java et Ruby C'est le premier langage objet largement utilisé par la communauté scientifique, il a servi de base à de nombreux travaux dont les design patterns. Influence dans l'industrie : assez faible, même si IBM l'a largement utilisé 2012 ericpruvost75@aol.com page 17/25

SmallTalk 1972 Reprend la notion d'objet de Simula 67 dans un langage totalement orienté objet, basé sur la notion de message qui sont envoyés aux objets Transcript clear. hello := 'Bonjour'. Transcript show:hello. Objet message objet message 2012 ericpruvost75@aol.com page 19/25

Autres langages des années soixante-dix 70 1971 1972 1972 Pascal C Prolog 1974 SQL 2012 ericpruvost75@aol.com page 19/25

Les années quatre-vingt, le rôle majeur de C++ 80 1983 1986 1987 Ada C++ Turbo Pascal Eiffel HyperTalk Perl Objective-C 2012 ericpruvost75@aol.com page 20/25

Les années quatre-vingt dix, le rôle majeur de Java 90 1991 1993 1995 Python Visual Basic Ruby Delphi Java PHP JavaScript 2012 ericpruvost75@aol.com page 21/25

En résumé

Évolutions des langages objet 1967 Simula 67 1993 Ruby 1971 SmallTalk 1983 C++ Objective-C 1995 Java JavaScript 2000 C# 1986 Eiffel 1991 Python 2012 ericpruvost75@aol.com page 23/25

Variables, fonctions et procédures 12.8 prix une variable add(x, y) une fonction print(s) une procédure 2012 ericpruvost75@aol.com page 24/25

Objet, attribut et méthode prenom nom "Jean" "Dupont" nomcomplet() un objet dispose de variables appelées attributs qui lui sont propres un objet dispose de fonctions appelées méthodes qui doivent être invoquées à partir de l'objet 2012 ericpruvost75@aol.com page 25/25