La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

IFT 232 Méthodes de Conception Orientées Objets Introduction.

Présentations similaires


Présentation au sujet: "IFT 232 Méthodes de Conception Orientées Objets Introduction."— Transcription de la présentation:

1 IFT 232 Méthodes de Conception Orientées Objets Introduction

2 Plan : programmer  concevoir Qu’est-ce qu’un langage de programmation ? Langage de programmation En tant que filtre pour concevoir le monde En tant que culture La programmation par objets (POO) Un survol du territoire Vers l’apprentissage de la culture Java

3 Etude des langages de programmation Etape 1: Identification et classification des éléments de base des langages de programmation Etape 2: Regroupement de ces éléments en familles de langages Approche horizontale: Regrouper les langages similaires en termes de syntaxe et sémantique  la programmation par objets: Smalltalk, Java, C++, Eiffel…  La programmation procédurale: C, Pascal, Modula… Etape 3: Langage de programmation ==> une culture Approche verticale La syntaxe et la sémantique ne font pas un langage de programmation Pour réellement comprendre un langage de programmation, il faut comprendre et intégrer sa culture

4 http://www.charlatans.info/esquineige.shtml

5 Éléments de base d’un langage de programmation Variable Type: typé | non typé, types primitifs, inférence de types, Valeur: pointeurs, calculée par une fonction, ramasse-miettes, Portée: lexicale, dynamique, locale, globale Structure de contrôle Conditionnelles, boucles, primitives Exceptions Invocation / activation des calculs Appel de procédures, appel de fonctions, démons Transmission de messages, passage de paramètres Choix de la “fonction” activée Pattern matching, polymorphisme, héritage

6 Éléments de base d’un langage de programmation Statut de certains éléments Fonctions, classes  réflexivité Modifications en cours d’exécution de certains éléments Parallélisme Synchrone, asynchrone, fil d’exécution (thread)… Calculs Compilation, interprétation, machine virtuelle Pile d’exécution, tas (“heap”) Évaluation paresseuse, backtracking

7 Familles de langages de programmation Programmation par objets Programmation procédurale Programmation fonctionnelle Programmation par contraintes Programmation logique Programmation par règles etc.

8 Langage de programmation Langage Filtre sur le monde S’insère dans une culture

9 Langage de programmation NIVEAULisp Lexical Des parenthèses, des symboles, Et très peu de formes spéciales Syntaxique (define (somme l) (define res 0) (define liste l) (while (notNull? l) (Set! res (+ res (car l))) (set! liste (cdr liste))) res) Sémantique (define (somme l) (if (null l) 0 (somme (+ (car l) (somme (cdr l))))) Pragmatique (define (somme l) (accumulate (lambda (x l) (+ x (car l))) 0 l))

10 La programmation par objets Cinq éléments de base Instance Classe Héritage Méthode Transmission de messages

11 La culture “orientée objets” Modélisation Unified Modelling Language (UML) Le langage La syntaxe et la sémantique du langage, e.g. Java, Smalltalk… Les conventions Programmation Nomenclature  Les composants JavaBeans reposent sur ces conventions La pratique de programmation Refactorisation Schémas de conception Méthodologie de développement de systèmes Programmation agile

12 To be a ``most important'' innovation, an innovation has to be an idea that is very widely used and is critically important where it applies. To be a "software" innovation, it has to be a technological innovation that impacts how computers are programmed (e.g., an approach to programming or an innovative way to use a computer). An innovation is a new idea. And in this paper, what's meant is a new idea in software technology. http://www.dwheeler.com/innovation/innovation.html

13

14 Programmation par objets Objet, acteur, prototype Classe Instance Transmission de message Méthode Héritage simple \ multiple, interface, polymorphisme, surcharge (“overloading”)

15 LANGAGE de programmation NIVEAUApplication au langage naturel LexicalVocabulaire Erreurs d’orthographe SyntaxiqueGrammaire Règles SémantiqueSignification Erreurs de sens PragmatiqueInterprétation en tenant compte du contexte Esthétique

16 Une culture est aussi un filtre … une certaine façon de concevoir le monde Programmer --> cuisine Inuits Lexical ??? SyntaxiqueMode de cuisson Cuisson (trop) longue Mode de cuisson Huile d’olive Al dente Temps de cuisson SémantiqueSpaghetti alla bolognese Choix des pâtes Combinaison Crème, parmesan PragmatiquePizzaghettiAntipasto Primo pasto Secundo pasto

17 http://owl.english.purdue.edu/handouts/esl/esltensverb.html

18 http://www.aidenet.eu/conjugaison07b.htm


Télécharger ppt "IFT 232 Méthodes de Conception Orientées Objets Introduction."

Présentations similaires


Annonces Google