Évaluation et implémentation des langages

Dimension: px
Commencer à balayer dès la page:

Download "Évaluation et implémentation des langages"

Transcription

1 Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation des langages de programmation CSI 3525, Évaluation et Implémentation, page 1

2 Les langages de programmation et le processus de programmation Programmer, c est plus que simplement écrire du code. Pourquoi étudier les langages de programmation? Les paradigmes et applications de la programmation. CSI 3525, Évaluation et Implémentation, page 2

3 Programmer, c est plus que simplement écrire du code. Avant d écrire du code, il est essentiel de débuter par une analyse. Un algorithme est développé (ou emprunté), le coût de la solution est évalué. Après avoir écrit le code, le programme doit être maintenu. Les langages de programmation transmettent des instructions aux ordinateurs. Qu est-ce qu un ordinateur comprend? Comment l ordinateur nous répondra? CSI 3525, Évaluation et Implémentation, page 3

4 Programmer, c est plus que simplement écrire du code (suite) Comment les langages de programmation diffèrent-ils des langages naturels? Qu est-ce qui fait de quelqu un un bon programmeur? Un programmeur devrait-il connaître plus d un langage de programmation? CSI 3525, Évaluation et Implémentation, page 4

5 Pourquoi étudier des langages de programmation? Pour mieux comprendre la relation entre les algorithmes et les programmes. Pour apprendre à trouver des solutions générales, indépendantes du langage choisi. Pour pouvoir mieux choisir les outils de programmation les plus appropriés. CSI 3525, Évaluation et Implémentation, page 5

6 Pourquoi étudier les langages de programmation? (suite) Pour apprécier le fonctionnement des ordinateurs en sachant comment les langages sont implémentés. Pour faciliter l apprentissage de nouveaux langages. Pour savoir développer de nouveaux langages formels (pour l entré de données par exemple). Pour constater comment les langages influencent l informatique en tant que discipline, et encouragent les bonnes pratiques de développement de logiciels. CSI 3525, Évaluation et Implémentation, page 6

7 Les différent types de langages: Paradigmes de programmation Différent langages permettent de résoudre différents problèmes de façon différentes. Une opération peut être exprimée dans différents langages, puis exécutée sur la même machine. CSI 3525, Évaluation et Implémentation, page 7

8 Différents paradigmes de programmation Langages impératifs: Ces langages permettent au programmeur d attribuer des valeurs à des espaces de mémoire, afin de décrire explicitement la façon de résoudre un problème. (Java, C++, Pascal) Langages déclaratifs: Ces langages permettent au programmeur de déclarer diverse entités et relations. Le programme pourra ensuite utiliser ces déclarations pour résoudre le problème. (Prolog, Lisp) CSI 3525, Évaluation et Implémentation, page 8

9 Langages Déclaratifs Programmation fonctionnelle: Un programme consistant de déclarations de fonctions. Un appel à une fonction est fait et retourne un élément qui dépend de la valeur de ses paramètres qui peuvent, eux même, être des appels à des fonctions.(lisp) Programmation logique: Un programme consistant de déclarations de séries d axiomes et de règles de déduction, et de la présentation d un théorème à prouver. Le programme répond si le théorème peut être prouvé ou non à partir des déclarations. (Prolog) CSI 3525, Évaluation et Implémentation, page 9

10 Langages Impératifs Programmation procédurale: Le programme est divisé en blocs pouvant contenir des variables locales, ainsi que d autres blocs. (C, Fortran, Pascal) Programmation orientée objet: Des objets se rapportant au problème sont définis, avec leurs attributs et leur façon de réagir à différent événements. Le problème est résolu grâce a l interaction entre ces objets. (Java, Smalltalk) Programmation concurrente: Langage permettant l utilisation de plusieurs CPU opérants en parallèle. Les donnés peuvent être partagées entre les processeurs ou restreintes à certains d entre eux. (Ada 95, Java) CSI 3525, Évaluation et Implémentation, page 10

11 Spécialisation d un langage Langages à usage général: la plupart des langages que vous connaissez. Langages spécialisés: ex: matlab (mathématiques), Cobol (production de rapports), SQL (bases de données), Perl (langage script). CSI 3525, Évaluation et Implémentation, page 11

12 Niveau de complexité et d abstraction Langages de bas niveau (langage machine, assembleur). Langages de haut niveau (les langages les plus utilisés). Langages de très haut niveau (Prolog, ainsi que certain langages spécialisés). Au delà des langages de programmation: Environnements de programmation et outils de développement logiciel (JBuilder, Visual C++) CSI 3525, Évaluation et Implémentation, page 12

13 Domaines d application Traitement de données ("business applications"). Important dans le passé, maintenant largement remplacé par les bases de données, tableurs, et logiciels spécialisés. Calcul scientifique (incluant l ingénierie). Aujourd hui, largement influencé par la conception de nouveau hardwares tel que les super-ordinateurs ou les ordinateurs vectoriels. CSI 3525, Évaluation et Implémentation, page 13

14 Domaines d application (2) Intelligence artificielle et autres applications en marge de l informatique. Logiciel éducatifs, jeux De nouveaux hardware sont proposés (présentement surtout simulés) pour l intelligence artificielle: réseaux de neurones, ordinateurs à connexion. Applications en interne compilateurs, systèmes d exploitation, GUI, API. CSI 3525, Évaluation et Implémentation, page 14

15 Critères pour la conception et l évaluation de langages de programmation Lisibilité Aptitude à l écriture Fiabilité Coût CSI 3525, Évaluation et Implémentation, page 15

16 Lisibilité Ce critère est subjectif, mais important. La lisibilité d un langage est rendu essentielle par les usages courant du génie logiciel, en particulier, pour les fins d évolution, de maintenance, et de mise à jour des logiciels. Abstraction: permet la généralité des programmes, l abstraction procédurale, et l abstraction des données. Absence d ambiguïtés Absence d une surabondance de choix: Par exemple, certain langages permettent d écrire les boucles de plusieurs façon différentes. CSI 3525, Évaluation et Implémentation, page 16

17 Lisibilité (2) Orthogonalité: l absence de restrictions sur la façon de combiner les primitives du langage. (Il est plus facile de constater le manque d orthogonalité.) Exemple: Un tableau peut-il contenir des éléments de n importe quel type? Résulte en une diminution du nombre de cas spéciaux. Peut être poussé trop loin (Algol 68). CSI 3525, Évaluation et Implémentation, page 17

18 Lisibilité (3) Expressivité des structures de contrôle et de données. Qu est-ce qui est plus facile à lire et maintenir: un long programme bâtie à partir d éléments simple? -ouun programme bref bâtie à partir d éléments complexes et spécialises? Exemples d expressivité: la récursivité, le retour arrière incorporé de Prolog, la recherche dans les langages de base de données. Exemple de peu d expressivité: instructions d assembleur. Apparence: syntaxe élégante, commentaires. CSI 3525, Évaluation et Implémentation, page 18

19 Aptitude à l écriture Encore subjectif. Abstraction: comme pour la lisibilité Simplicité: Basic et Pascal sont simples Prolog est conceptuellement simple, mais difficile en pratique. C++ et Java? Expressivité (encore). Modularité: aussi la présence d outils de modularisation et la capacité d être incorporé dans un environnement de programmation intégré. CSI 3525, Évaluation et Implémentation, page 19

20 Fiabilité et Coût Fiabilité: Vérification des types, traitement des exceptions et erreurs, l absence d ambiguïtés (et en générale la lisibilité et l aptitude a l écriture). Coût associées à l utilisation du langage. Temps nécessaire au développement (facilité de programmation, disponibilité de code, de librairies et de documentation). Facilité d implémentation: (affecte la disponibilité et le coût des compilateurs) Algol 68 a échoué, Ada presque; l implémentation de Pascal, C, C++ et Java ont été de grand succès. Temps nécessaire pour traduire, et l efficacité du code résultant. Portabilité et standardisation. CSI 3525, Évaluation et Implémentation, page 20

21 L implémentation de langages de programmation Processeurs de langage Machines virtuelles Modèles d implémentation Compilation et exécution CSI 3525, Évaluation et Implémentation, page 21

22 Processeurs de langage Un processeur de langage est un dispositif (logiciel ou matériel (hardware)) capable d exécuter des instructions de ce langage. La traduction est le processus qui transforme un programme d un langage à un autre, tout en préservant son intégrité et sa fonctionnalité. Le langage cible peut être directement exécutable sur l ordinateur, ou (plus souvent) devra à nouveau être traduit en un langage de niveau inférieur. CSI 3525, Évaluation et Implémentation, page 22

23 Machines virtuelles Une machine virtuelle est une réalisation logicielle (simulation) d un processeur de langage. Il est difficile de programmer directement pour le hardware le hardware est donc généralement «enveloppé» de plusieurs couches logicielles. Une couche peut être partagé par plusieurs processeurs de langage,chacun ayant sa propre machine virtuelle au dessus de cette couche. CSI 3525, Évaluation et Implémentation, page 23

24 Exemple de couches partagées Tout processeurs de langage nécessitent une capacité d entrées /sorties. Tout les processeurs de langage doivent effectuer des calcules (utiliser le CPU). CSI 3525, Évaluation et Implémentation, page 24

25 Machines virtuelles Il existe normalement une hiérarchie de machines virtuelles: Au plus bas niveau: hardware ou matériel. Au plus haut niveau: les langages les plus intuitifs pour le programmeur. Chaque couche est exprimée uniquement en fonction de la précédente, ce qui assure une abstraction approprié. CSI 3525, Évaluation et Implémentation, page 25

26 Exemple de hiérarchie de machines virtuelles Layer 0: Layer 1: Layer 2: Layer 3: Layer 4: Layer 5: Layer 6: Layer 7: hardware microcode langage de machine appels de système code indépendant de la machine langage de haut niveau (ou assembleur) programme d application données d entrées [aussi un langage] CSI 3525, Évaluation et Implémentation, page 26

27 Layer 0: Layer 1: Layer 2: Layer 3: Machines virtuelles exemples IBM Netvista avec Pentium 4 de Intel, 2GHz Langage machine IBM Intel Windows XP Java byte-code Layer 4: Java 2.0 (code developé en JRE 1.4.0) Layer 5: Layer 6: comparateur intelligent de programmes C++, écrit en Java deux programmes C++ à comparer afin de trouver les similarités CSI 3525, Évaluation et Implémentation, page 27

28 Layer 0: Layer 1: Machines virtuelles exemples (2) IBM Netvista avec Pentium 4 de Intel, 2GHz Langage machine IBM Intel Layer 2: Windows NT 4.0 Layer 3: Java byte-code Layer 4: JDK 1.2 Layer 5: Layer 6: Layer 7: Layer 8: Une implémentation en Java de Prolog Une implémentation en Prolog de mysql Un patron de base de données défini et créé des enregistrements à insérer dans la base de données CSI 3525, Évaluation et Implémentation, page 28

29 Compilation: Modèles d implémentation Traduit le programme en un langage de machine virtuelle de couche plus basse. Le code résultant sera exécuté plus tard. Interprétation: Divise le programme en petit fragments (représentants des éléments de syntaxe). Une boucle traduit et exécute immédiatement les fragments. CSI 3525, Évaluation et Implémentation, page 29

30 Modèles d implémentation(2) La compilation pure et l interprétation pure sont peu utilisées. L implémentation des langages de programmation utilise souvent un mélange des deux. - exemple: Java est compilé en «bytecode», qui est par la suite interprété. On désigne un processeur de langage comme interpréteur s il ressemble plus à un interpréteur qu à un compilateur, dans le cas contraire il est considéré comme un compilateur. CSI 3525, Évaluation et Implémentation, page 30

31 Modèles d implémentation(3) Certain langages se prêtent mieux à l interprétation, par exemple Prolog et Lisp qui sont utilisés de manière interactive. D autre se prêtent mieux à la compilation, tel que C++ et Java. Il existe des versions compilés de Prolog et Lisp: Une boucle d interprétation de haut-niveau régît l interaction usagée. Les prédicats / fonctions sont compilées en un format optimisé qui est interprété. CSI 3525, Évaluation et Implémentation, page 31

32 Programme source Compilation et exécution compilateur Analyse lexicale (scaning) Optimisation du code Programme abstrait (optimisé) Génération du code Séquence d unités lexicales Table de symboles Programme abstrait (code intermédiaire) Code exécutable (object code) Analyse syntaxique (parsing) Arbre syntaxique Analyse sémantique Chargeur/Éditeur de liens (Loader/Linker) Programme résultant Données d entré Ordinateur Données de sortie CSI 3525, Évaluation et Implémentation, page 32

Types et langages de programmation. Algorithmique et Programmation Unisciel/K.Zampieri

Types et langages de programmation. Algorithmique et Programmation Unisciel/K.Zampieri Types et langages de programmation Algorithmique et Programmation Unisciel/K.Zampieri 1 Généalogie partielle des langages de programmation FORTRAN BASIC PL/1 PROLOG ALGOL60 COBOL C PASCAL ADA MODULA-2

Plus en détail

Éléments de programmation et introduction à Java

Éléments de programmation et introduction à Java Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

QUELQUES CONCEPTS INTRODUCTIFS

QUELQUES CONCEPTS INTRODUCTIFS ESIEE Unité d'informatique IN101 Albin Morelle (et Denis Bureau) QUELQUES CONCEPTS INTRODUCTIFS 1- ARCHITECTURE ET FONCTIONNEMENT D UN ORDINATEUR Processeur Mémoire centrale Clavier Unité d échange BUS

Plus en détail

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

Introduction au développement du logiciel

Introduction au développement du logiciel Introduction au développement du logiciel Vers le génie logiciel Université de Nantes Master Miage M1 Plan 1 Introduction 2 Génie logiciel 3 Projet informatique 4 Méthode de développement 5 Qualité Bibliographie

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Génie logiciel. Concepts fondamentaux. Bruno MERMET, Université du Havre 1

Génie logiciel. Concepts fondamentaux. Bruno MERMET, Université du Havre 1 Génie logiciel Concepts fondamentaux Bruno MERMET, Université du Havre 1 Nécessité du Génie Logiciel Bruno MERMET, Université du Havre 2 Développement d un logiciel Caractéristiques souhaitées : Adéquation

Plus en détail

Le génie logiciel. maintenance de logiciels.

Le génie logiciel. maintenance de logiciels. Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction

Plus en détail

Les Langages Informatiques

Les Langages Informatiques Les Langages Informatiques Les évolutions Michel Riguidel (riguidel@enst.fr) Table des Matières Table des Matières 2 Segmentation Informatique 3 Autrefois 3 Maintenant 3 Informatique 3 Informatique, Ordinateur,

Plus en détail

Introduction aux Bases de Données Relationnelles Conclusion - 1

Introduction aux Bases de Données Relationnelles Conclusion - 1 Pratique d un : MySQL Objectifs des bases de données Où en sommes nous? Finalement, qu est-ce qu un? Modèle relationnel Algèbre relationnelle Conclusion SQL Conception et rétro-conception Protection de

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

Cours Visual Basic pour Application. Par Fabrice Pasquier

Cours Visual Basic pour Application. Par Fabrice Pasquier Cours Visual Basic pour Application Par Fabrice Pasquier Sommaire Introduction à la programmation Motivation - démos VBA et VB Syntaxe de base, variables Opérateurs de base, boucles Intégration à MS Excel

Plus en détail

Compilateurs : Analyse lexicale. Vous êtes ici 2. Analyse lexicale 4. Matthieu Amiguet. En entrée d un compilateur, on a généralement un fichier

Compilateurs : Analyse lexicale. Vous êtes ici 2. Analyse lexicale 4. Matthieu Amiguet. En entrée d un compilateur, on a généralement un fichier Compilateurs : Matthieu Amiguet 2009 2010 Vous êtes ici 2 Partie Avant Analyse syntaxique Analyse sémantique Arbre syntaxique abstrait (AST) Partie Arrière Optimisation de l AST Génération de code Optimisation

Plus en détail

Introduction. Qu est-ce que Visual Basic 2008?

Introduction. Qu est-ce que Visual Basic 2008? Je suis profondément ravi que vous ayez choisi ce livre pour acquérir les compétences et techniques de programmation avec Microsoft Visual Basic 2008. Si nous nous découvrons mutuellement dans ce paragraphe,

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

Formacode 11.0 Thésaurus de l offre de formation

Formacode 11.0 Thésaurus de l offre de formation Thésaurus de l offre de formation Champs sémantiques Listes annexes Des types de certifications/diplômes/titres Des pays Des logiciels Des publics Des mots-outils Correspondances Formacode ROME ROME Formacode

Plus en détail

1.2 Unité responsable Département d informatique, Faculté des sciences

1.2 Unité responsable Département d informatique, Faculté des sciences 1. Identification du programme 1.1 Titre du programme Maîtrise ès sciences (informatique) 1.2 Unité responsable Département d informatique, Faculté des sciences 1.3 Diplôme accordé M. Sc. (Informatique)

Plus en détail

Les ordinateurs dispositifs électroniques fonctionnant sur la principe de création, transmission et conversion d impulses électriques

Les ordinateurs dispositifs électroniques fonctionnant sur la principe de création, transmission et conversion d impulses électriques Les ordinateurs dispositifs électroniques fonctionnant sur la principe de création, transmission et conversion d impulses électriques Les informations traitées par l ordinateur (nombres, instructions,

Plus en détail

Système d exploitation

Système d exploitation Chapitre 2 Système d exploitation 2.1 Définition et rôle Un ordinateur serait bien difficile à utiliser sans interface entre le matériel et l utilisateur. Une machine peut exécuter des programmes, mais

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Documentation d information technique spécifique Education. PGI Open Line PRO

Documentation d information technique spécifique Education. PGI Open Line PRO Documentation d information technique spécifique Education PGI Open Line PRO EBP Informatique SA Rue de Cutesson - ZA du Bel Air BP 95 78513 Rambouillet Cedex www.ebp.com Equipe Education : 01 34 94 83

Plus en détail

Préparation à l examen EFA en Macro

Préparation à l examen EFA en Macro Préparation à l examen EFA en Macro Exercice sur les macros en Word / Excel Les questions suivantes doivent constituer un bref rafraîchissement et vous aider à situer le niveau de vos connaissances : Question

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Introduction et installation 1. Introduction et installation

Introduction et installation 1. Introduction et installation Introduction et installation 1 1 Introduction et installation 1. Introduction et installation Introduction et installation 2 Introduction à Visual Basic Voilà à peine 10 ans, la conception d un logiciel

Plus en détail

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

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis Anne Tasso Un best-seller qui a déjà conquis des milliers d'étudiants! Java Le livre Java Le livrede de premier premier langage langage Avec 80 exercices corrigés Avec 80 exercices corrigés 5 e édition

Plus en détail

Chapitre 2 : Abstraction et Virtualisation

Chapitre 2 : Abstraction et Virtualisation Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et

Plus en détail

Chapitre 5 CORBA (Common Object Request Broker Architecture)

Chapitre 5 CORBA (Common Object Request Broker Architecture) DÉVELOPPEMENT D APPLICATIONS RÉPARTIES CORBA (Common Object Request Broker Architecture) Amen Ben Hadj Ali amenbha@hotmail.com ISI-L3SIL 2011-2012 Plan 2 Architecture CORBA Le langage IDL CORBA en Java

Plus en détail

Concevoir des applications Web avec UML

Concevoir des applications Web avec UML Concevoir des applications Web avec UML Jim Conallen Éditions Eyrolles ISBN : 2-212-09172-9 2000 1 Introduction Objectifs du livre Le sujet de ce livre est le développement des applications web. Ce n est

Plus en détail

Chapitre 1 Introduction aux compilateurs (et aux interpréteurs)

Chapitre 1 Introduction aux compilateurs (et aux interpréteurs) Chapitre 1 Introduction aux compilateurs (et aux interpréteurs) Jean Privat Université du Québec à Montréal INF5000 Théorie et construction des compilateurs Automne 2013 Jean Privat (UQAM) 01 Introduction

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

Théorie des langages. compilation. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 59

Théorie des langages. compilation. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 59 et compilation Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 59 et compilation et compilation Structure d un compilateur Analyse lexicale Analyse syntaxique Analyse

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

III - PROGRAMMATION EN ASSEMBLEUR

III - PROGRAMMATION EN ASSEMBLEUR III - PROGRAMMATION EN ASSEMBLEUR 3.1 Introduction à la programmation en assembleur Pour programmer un ordinateur on utilise généralement des langages dits évolués ou de haut niveau : C, C++, Java, Basic,

Plus en détail

Gérard Swinnen. Apprendre à programmer avec. Python

Gérard Swinnen. Apprendre à programmer avec. Python Gérard Swinnen Apprendre à programmer avec Python Avec plus de 40 pages de corrigés d exercices! Objet Multithreading Événements Bases de données Programmation web Programmation réseau Unicode... Groupe

Plus en détail

CH.3 SYSTÈMES D'EXPLOITATION

CH.3 SYSTÈMES D'EXPLOITATION CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,

Plus en détail

Initiation à la programmation. L'essentiel de la programmation en shell, perl, php et C++

Initiation à la programmation. L'essentiel de la programmation en shell, perl, php et C++ Initiation à la programmation L'essentiel de la programmation en shell, perl, php et C++ Communiquer avec sa machine Les langages de programmation sont d'abord destinés aux humains et non aux machines.

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

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

Environnements de développement (intégrés) Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

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

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion GenDbg : un débogueur générique Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion 2008 Qui sommes nous? Centre d électronique de l Armement (CELAR) Maîtrise et protection

Plus en détail

Introduction. Python?

Introduction. Python? 1 Introduction Python - why settle for snake oil when you can have the whole snake? «Python - Pourquoi se contenter d huile de serpent quand on peut avoir le serpent tout entier?» Mark Jackson En guise

Plus en détail

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM) Ministère de l Enseignement Supérieur et de la Recherche Scientifique Ecole Supérieure Privée d Ingénierie et de Technologie BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Plus en détail

Algorithmique dans les nouveaux programmes de Première

Algorithmique dans les nouveaux programmes de Première Algorithmique dans les nouveaux programmes de Première Journée de présentation des nouveaux programmes de Première académie de Nice Les nouveaux programmes de Première 2011 1 I. Introduction 1. Acquis

Plus en détail

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

Plus en détail

Installation Client (licence réseau) de IBM SPSS Modeler 14.2

Installation Client (licence réseau) de IBM SPSS Modeler 14.2 Installation Client (licence réseau) de IBM SPSS Modeler 14.2 Les instructions suivantes permettent d installer IBM SPSS Modeler Client version 14.2 en utilisant un licence réseau. Ce présent document

Plus en détail

Chapitre 1 Qu est-ce qu une expression régulière?

Chapitre 1 Qu est-ce qu une expression régulière? Chapitre 1 Qu est-ce qu une expression régulière? Les ordinateurs n ont pas du tout la même conception des textes que nous : pour nous, un texte est un ensemble d idées couchées sur papier. Nous nous en

Plus en détail

Rebol, un langage «différent»

Rebol, un langage «différent» 02 Rebol (1) Chap 01 Page 13 Mardi, 18. septembre 2001 6:06 18 1 Rebol, un langage «différent» «Il est temps de faire quelque chose de différent.» Cette phrase de Carl Sassenrath, le concepteur de Rebol,

Plus en détail

1 Introduction à la programmation

1 Introduction à la programmation 3OCI - Chapitre 1 1 Introduction à la programmation 1 Évolution des systèmes d exploitation Les premiers ordinateurs étaient capables d accomplir une seule tâche à la fois. Dans ce mode de fonctionnement,

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Utilisation de SystemC pour la conception des SoC

Utilisation de SystemC pour la conception des SoC Utilisation de SystemC pour la conception des SoC aniela ragomirescu 1,2, Roberto Reyna 3 1 - Université de Toulouse : INSA Toulouse, 135 Av. de Rangueil Toulouse cedex 4 2-LAAS-CNRS ; Université de Toulouse,

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Partie 1 : Notion de bases de données (Conception

Plus en détail

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte? Avant-propos... V CHAPITRE 1 Scripting Windows, pour quoi faire?... 1 Dans quel contexte?.................................................. 1 La mauvaise réputation............................................

Plus en détail

IBM Tivoli Monitoring, version 6.1

IBM Tivoli Monitoring, version 6.1 Superviser et administrer à partir d une unique console l ensemble de vos ressources, plates-formes et applications. IBM Tivoli Monitoring, version 6.1 Points forts! Surveillez de façon proactive les éléments

Plus en détail

Cours Visual Basic URCA

Cours Visual Basic URCA Cours Visual Basic URCA Sommaire Introduction à la programmation VBA et VB Syntaxe de base, variables Opérateurs de base, boucles Introduction à la programmation Qu est-ce que la programmation? Séquences

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

M1805 - Études et développement informatique

M1805 - Études et développement informatique Appellations Analyste cogniticien / cogniticienne informatique Analyste concepteur / conceptrice informatique Concepteur / Conceptrice analyste informatique Concepteur / Conceptrice d'application informatique

Plus en détail

DEMARCHE ET MISE EN ŒUVRE

DEMARCHE ET MISE EN ŒUVRE Chapitre I : CONVENTIONS D ECRITURE 15 CHAPITRE I DEMARCHE ET MISE EN ŒUVRE Le développement de fonctions mathématiques peut répondre à plusieurs critères ou objectifs tels que la vitesse d exécution,

Plus en détail

Cours de compilation

Cours de compilation Cours de compilation 1 Introduction Un compilateur est un logiciel de traduction d un langage source vers un langage cible. D ordinaire le langage source est un langage de programmation évolué, comme C++

Plus en détail

Techniques de compilation

Techniques de compilation Département d Informatique Université de Nice Sophia Antipolis Master 1 Informatique Techniques de compilation XI. Générateurs de générateurs de code Jacques Farré email : Jacques.Farre@unice.fr 1 Introduction

Plus en détail

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant 1969. R&T 1ère année. Sylvain MERCHEZ

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant 1969. R&T 1ère année. Sylvain MERCHEZ MODULE I1 Plan Chapitre 1 Qu'est ce qu'un S.E? Introduction Historique Présentation d'un S.E Les principaux S.E R&T 1ère année Votre environnement Sylvain MERCHEZ Introduction Introduction Rôles et fonctions

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Optimisation de logiciels de modélisation sur centre de calcul

Optimisation de logiciels de modélisation sur centre de calcul Optimisation de logiciels de modélisation sur centre de calcul Gérald Monard Pôle de Chimie Théorique http://www.monard.info/ Introduction Les ordinateurs sont des appareils électroniques permettant d

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

Généralités sur les bases de données

Généralités sur les bases de données Généralités sur les bases de données Qu est-ce donc qu une base de données? Que peut-on attendre d un système de gestion de bases de données? Que peut-on faire avec une base de données? 1 Des données?

Plus en détail

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire.

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire. Principes des lang. de progr. INE 11 Michel Mauny ENSTA ParisTech Prénom.Nom@ensta.fr Michel Mauny (ENSTA ParisTech) INE 11 Prénom.Nom@ensta.fr 1 / 37 Gestion et récupération automatique de mémoire lanage

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

M1805 - Études et développement informatique

M1805 - Études et développement informatique Appellations (Métiers courants) Analyste décisionnel - Business Intelligence Analyste organique informatique Analyste-programmeur / Analyste-programmeuse informatique Chef de projet étude et développement

Plus en détail

Moderniser. le système d information et le portefeuille applicatif. www.bull.com

Moderniser. le système d information et le portefeuille applicatif. www.bull.com Moderniser le système d information et le portefeuille applicatif L évolution technologique des plates-formes, l ouverture du système d information et la modernisation du portefeuille applicatif sont des

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

plan Virtualisation Plan Systèmes d exploitation centralisés 1 IMA 13 mars 2015 Contrôle de l accès aux ressources Interface avec les systèmes invités

plan Virtualisation Plan Systèmes d exploitation centralisés 1 IMA 13 mars 2015 Contrôle de l accès aux ressources Interface avec les systèmes invités plan Virtualisation s d exploitation centralisés 1 IMA Sources : 13 mars 2015 Chapitre 16 de Operating System Concepts (9ème édition), de Silberschatz, Galvin et Gagne Cours de Gérard Padiou, 1IMA 2012-2013

Plus en détail

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

Plus en détail

DotNet. Plan. Les outils de développement

DotNet. Plan. Les outils de développement DotNet Les outils de développement Version 1.03 du 16/10/2006 par Jacky Renno Plan La machine virtuelle Le kit de développement Le kit de langage Le Visual Studio.NET Le serveur web IIS 6.0 Le modeleur

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Intelligence Artificielle et Robotique

Intelligence Artificielle et Robotique Intelligence Artificielle et Robotique Introduction à l intelligence artificielle David Janiszek david.janiszek@parisdescartes.fr http://www.math-info.univ-paris5.fr/~janiszek/ PRES Sorbonne Paris Cité

Plus en détail

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Dossier de compétences :

Dossier de compétences : Dossier de compétences : Type de poste recherché : Administrateur SAP BC Junior Formation : 2008 Master 2 Sciences pour l Ingénieur spécialité Complémentaires en Informatique à l Institut des Sciences

Plus en détail

Informatique pour tous

Informatique pour tous Informatique pour tous Architecture des ordinateurs - I Yannick Le Bras - MPSI Septembre 2013 Modalités du cours Section 1 Modalités du cours Modalités du cours Organisation semaine A : 2h de TP semaine

Plus en détail

Premier programme VBA : syntaxe, édition, compilation

Premier programme VBA : syntaxe, édition, compilation 1 Premier programme VBA : syntaxe, édition, compilation Le langage VBA (Visual Basic for Applications) permet de concevoir des programmes selon une syntaxe qui lui est propre, puis d éditer et d exécuter

Plus en détail