Les différents langages de programmation
Introduction 1. Qu’est-ce qu’un langage de programmation ? 2. Quels sont-ils ?
Qu’est-ce qu’un langage de programmation ? On appelle langage de programmation un langage formel, c'est-à-dire un ensemble de mots. Un langage informatique est utilisé lors de la conception, la mise en œuvre ou l’exploitation d’un système d’information.
2. Quels sont-ils ? Langages les plus répandus : Langages généralistes Langages de définition des données Langages de requêtes Langages plus spécialisés : Langages dédiés au graphisme et à la synthèse sonore Métalangages
Etat d’art 1950 : Invention de l'assembleur par Maurice V. Wilkes. 1957 : Création du premier langage de programmation universel, le FORTRAN par John Backus. 1968 : Création du PASCAL par Niklaus Wirth. 1970 : Ken Thompson crée le langage B dans le cadre du développement d’Unix.
1971-1973 : Dennis Ritchie reprend le langage B pour créer un nouveau langage suffisamment généraliste pour être portable. 1972 : Création du premier langage orienté objet, SmallTalk par Alan Kay. 1983 : Bjarn Stroustrup développe une extension orientée objet au langage C : le C++.
Les langages de bas niveau 1. Qu'est-ce qu'un langage de bas niveau ? 2. Le langage machine 3. Le langage assembleur 4. Pourquoi avoir créé des langages de programmation ? 5. Comment les langages de haut niveau peuvent-ils être exécutés par le processeur ?
Qu'est-ce qu'un langage de bas niveau ? Un langage de programmation est dit de bas niveau lorsque que celui-ci se rapproche du langage machine.
Le langage machine C’est une suite de bits interprétable par le processeur. C’est le seul langage qui soit reconnu nativement par le processeur. Chaque processeur possède son propre jeu d’instructions.
Le langage assembleur Langage assembleur = représentation du langage machine sous une forme plus compréhensible par un être humain. Les combinaisons de bits sont représentées par des symboles faciles à retenir. Chaque famille de processeur possède son propre langage assembleur.
Pourquoi avoir créé des langages de programmation ? Langages de bas niveau = contre- productif.
Comment les langages de haut niveau peuvent-ils être exécutés par le processeur ? Le langage de haut niveau doit être traduit en langage de bas niveau : c’est le rôle du compilateur. Certains langages comme Java sont dans un premier temps compilés en un langage intermédiaire avant d’être interprétés ou compilés.
Les paradigmes de programmation 1. Définition 2. Classification des langages de programmation 3. Langages impératifs 4. Langages fonctionnels
1. Définition Un paradigme est une manière de programmer un ordinateur.
2. Classification des langages de programmation
3. Langages Impératifs Un langage impératif organise le programme sous forme d’une série d’instructions. Ces instructions sont regroupées par blocs et comprenant des sauts conditionnels permettant de revenir à un bloc d'instructions si la condition est réalisée.
4. Langage Fonctionnel Un langage fonctionnel est un langage dans lequel le programme est construit par fonctions, retournant un nouvel état en sortie et prenant en entrée la sortie d'autres fonctions.
Types de programmation du paradigme : Procédurale Orientée Objet Concurrente Fonctionnelle Logique
Description des principaux langages de programmation 1. Les langages de programmation « populaires » 2. Vers d’autres langages spécifiques
Les langages de programmation « populaires » C : Datant des années 70 Langage compilé Langage de programmation OS Langage avec la syntaxe dite ancêtre Utilisé en programmation système
Les langages de programmation « populaires » Java : Né en 1995 Langage intermédiaire Langage objet Similaire au C Multiplateformes (grâce au Bytecode) Syntaxe utilisable pour des scripts Utilisé en programmation orientée Web
Les langages de programmation « populaires » C# : Langage intermédiaire Langage objet Similaire au Java (syntaxe, concepts) Utilise la plateforme .NET
Les langages de programmation « populaires » C++ : Dérivé du C en 1983 Langage compilé Langage objet Programmation procédurale & générique Multiplateformes Utilisé en programmation système objet (Application commerciale et jeux vidéos)
Les langages de programmation « populaires » Python : Langage interprété Langage objet Programmation impérative Multiplateformes
Les langages de programmation « populaires » PHP : Langage interprété Langage de scripts Langage objet & impératif Programmation procédurale ou objet Utilisé en développement de sites web
Les langages de programmation « populaires » VBA : Dérivé du BASIC Langage de développement d’application avec interface graphique et base de données Non Portable
Les langages de programmation « populaires » VB.NET : Dérivé du Visual Basic Langage objet Compilé en langage intermédiaire
Les langages de programmation « populaires » JavaScript : Langage de scripts (dynamique) Langage objet (syntaxe du Java) Pas de compilation
Vers d’autres langages spécifiques COBOL Langage compilé Langage de scripts Langage non objet Utilisé en Gestion (entreprise financière) Applications pour Affaires --> Besoin de produire des rapport élaborés et de traiter les nombres décimaux et les caractères
Vers d’autres langages spécifiques Lisp : Langage intermédiaire Langage impératif & fonctionnel Programmation fonctionnelle Utilisé en recherche d’intelligence artificielle
Vers d’autres langages spécifiques Basic : Né en 1964 Langage interprété Langage de haut niveau Programmation pour non informaticiens Utilisé à but éducatif
Vers d’autres langages spécifiques Fortran : Né en 1957 Langage compilé Utilisé en mathématiques Utilisé dans le calcul scientifique Applications Scientifiques --> Pas besoin de structures des données ni d ’opérations compliquées mais besoin de grande Efficacité
Vers d’autres langages spécifiques MATLAB : Langage interprété Dérivé du Fortran Permis au C++ & Java Utilisé en calcul mathématique
Vers d’autres langages spécifiques Pascal : Né en 1968 Langage compilé Langage impératif Conçu pour l’enseignement
Vers d’autres langages spécifiques Perl : Langage interprété Langage de scripts Multiplateformes Conçu pour le traitement de chaines de caractères (fichiers textes & génération de rapports) Langage objet, procédurale & fonctionnelle Langages pour Scriptes --> Besoin de mettre des commandes dans un fichier pour exécution
Vers d’autres langages spécifiques Prolog : Langage interprété Programmation basé sur la logique Multiplateformes Conçu pour l’intelligence artificielle et dans le traitement linguistique Intelligence Artificielle --> Besoin de manipuler les données symboliques plutôt que numériques et besoin d ’opérations logiques
Evolution des langages de programmation 1. Les langages de programmation « exotiques » 2. Vers une utilisation spécifique des langages de programmation
Les langages de programmation « exotiques » Un langage de programmation exotique est un langage n’ayant aucunement l’intention d’être utile. C’est souvent un exercice intellectuel ou une blague.
Les langages de programmation « exotiques » Exemple de Brainfuck : Brainfuck est un langage de programmation crée par Urban Müller en 1993. Il est très minimaliste : il n'utilise que 3 bits et se satisfait de 8 instructions. « Hello World! » : ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
Vers une utilisation spécifique des langages de programmation Langages de programmation audio : Ils ont fortement été influencés par le langage MUSIC-N. Exemple de langage de programmation audio : Csound : Ecrit en C par Barry Vercoe, il est destiné à la création sonore.
Vers une utilisation spécifique des langages de programmation Les langages de programmation graphique: Un langage de programmation graphique ou visuel est un langage de programmation dans lequel les programmes sont écrits par assemblage d'éléments graphiques. Exemple de langage de programmation graphique : Processing : Basé sur la plate-forme Java, Processing est adapté à la création platique et graphique interactive.
Les différents langages de programmation FIN