Quels sont les différents langages de programmation ?








télécharger 135.33 Kb.
titreQuels sont les différents langages de programmation ?
page1/3
date de publication30.01.2018
taille135.33 Kb.
typeDocumentos
ar.21-bal.com > documents > Documentos
  1   2   3







Quels sont les différents langages de programmation ?

15/10/2013

ANTONIETTI Gatien & PRATS Maximilien

DEFINITION DE LA CIBLE DU PROJET

Le but de cet exposé est purement informatif, il permet dans un premier temps de voir toutes les possibilités qu'offre la programmation depuis ces débuts et dans un second temps de fournir un condensé de l'outil principal d'un programmeur à savoir le langage.

Il s'agit ici de comprendre d'ou viennent les langages de programmation et quelles utilités on peut en avoir. Les différencier est la clé pour pouvoir s'ouvrir plusieurs horizons et constitue notre cible principale.

INTRODUCTION

Qu’est ce qu’un langage informatique ?
On appelle langage informatique un langage formel, c'est-à-dire un ensemble de mots.

L'alphabet d'un langage formel est l'ensemble des symboles, lettres ou lexèmes qui servent à construire les mots du langage.

On appelle « langage informatique » un langage décrivant des actions consécutives qu'un ordinateur doit exécuter

Les langages servant aux ordinateurs à communiquer entre eux sont des protocoles de communication, ce sont deux notions totalement différentes.
Un langage informatique est utilisé lors de la conception, la mise en œuvre ou l’exploitation d’un système d’information.

Quelles sont-ils ?
Parmi les différents langages informatiques on trouve :


Certains langages sont plus spécialisés. Par exemple :

  • les langages dédiés (ou DSL) qui sont créés spécifiquement pour un domaine précis (par opposition aux langages de programmation généralistes):

    • les langages liés au graphisme, comme POV-Ray ;

    • les langages de notation musicale comme LilyPond ;

  • les métalangages qui permettent de décrire d'autres langages, comme la notation BNF

On trouve également des langages de balisage qui représentent une classe de langages spécialisés dans l’enrichissement d’information textuelle.

Les langages de définition de documents, utilisés pour documenter le SI lors de sa conception et son développement, sont également manipulés par tous types d'utilisateurs. Ainsi, HTML permet d'écrire des pages Web ; XML autorise la structuration de contenu ; LaTeX, très utilisé par les scientifiques et universitaires, est capable de produire de nombreux types de documents... On notera que ces langages sont souvent des langages de balisage.

ETAT D'ART

820 : Le mathématicien El Khawarizmi publie à Bagdad un traité intitulé "La science de l'élimination et de la réduction" qui, importé en Europe Occidentale lors des invasions Arabes aura une grande influence sur le développement des mathématiques.
1840 : Collaboratrice de BabbageAda Lovelace, mathématicienne, définit le principe des itérations successives dans l'exécution d'une opération. En l'honneur du mathématicien Arabe El Khawarizmi (820), elle nomme le processus logique d'exécution d'un programme : algorithme.
1854 : Boole publie un ouvrage dans lequel il démontre que tout processus logique peut être décomposé en une suite d'opérations logiques (ET, OU, NON) appliquées sur deux états (ZERO-UN, OUI-NON, VRAI-FAUX, OUVERT-FERME).
1950 : Invention de l'assembleur par Maurice V. Wilkes de l'université de Cambridge. Avant, la programmation s'effectuait directement en binaire.
1951 : Invention du premier compilateur A0 par Grace Murray Hopper qui permet de générer un programme binaire à partir d'un code source.
1957 : Création du premier langage de programmation universel, le FORTRAN (FORmula TRANslator) par John Backus d'IBM.
1958 : Suite à une conférence entre Américains et Européens est lancée l'idée d'un langage standard universel : ALGOL 58 (ALGOrithmic Language).


1958 : John Mc Carthy, mathématicien au MIT qui y a fondé en 1957 le département d'Intelligence Artificielle, crée le langage de programmation LISP (LISt Processing) qui va avoir une grande influence sur le développement de la programmation objet. Ce langage sera initialement développé sur IBM 7090.http://histoire.info.online.fr/images/ibm7090p.jpeg


1960 : Publication du cahier des charges du langage de programmation COBOL (COmmon Business Oriented Language). Il devient, après le FORTRAN, le second grand langage de programmation universel, faisant ainsi rapidement disparaître l'ALGOL.
1964 : Création du code ASCII (American Standard Code for Information Interchange), normalisé en 1966 par l'ISO pour simplifier l'échange de données entre ordinateurs. Malgré cela, IBM maintient sa propre norme propriétaire EBCDIC (Extended Binary Coded Decimal Interchange Code).
1966 : Le langage de programmation LOGO est crée par une équipe chez BBN (Bolt Beranek & Newman) dirigée par Wally Fuerzeig dont faisait partie Seymour Papert. Ce langage très graphique est basé sur le principe d'une tortue que l'on pilote à l'écran en lui donnant des ordres (tourner, avancer, etc...).
1968 : Création du langage PASCAL par Niklaus Wirth.
1970 : Ken Thompson, pensant qu'UNIX ne serait pas complet sans un langage de programmation de haut niveau commence à porter le Fortran sur le PDP 7 mais change rapidement d'avis et crée en fait un nouveau langage, le B (en référence au BCPL dont il s'inspire).
1971-1973 : Dennis Ritchie du Bell Lab d'ATT reprend le langage B écrit par Ken Thompson pour PDP/7 en 1970 pour mieux l'adapter au PDP/11 sur lequel UNIX vient juste d'être porté. Il fait évoluer le langage et le dote d'un vrai compilateur générant du code machine PDP/11 (le B était un langage interprété). Le langage C est à la fois proche du matériel, permettant ainsi de réécrire le noyau UNIX en C (Cf. été 1973) et suffisament généraliste, le rendant ainsi facilement portable. Les développements et les succès du langage C et d'UNIX sont intimement liés.
1972 : Création du premier langage orienté objet, SmallTalk par Alan Kay au Xerox PARC.
1979 : Le langage ADA développé par Jean Ichbiah de la société Française Honeywell Bull va être choisi par le Pentagone Américain comme l'unique langage de développement imposé à ses services à la place de la jungle d'un millier de langages de programmation différents qu'ils utilisaient jusque la !
1983 : Bjarn Stroustrup développe une extension orientée objet au langage C : le C++.

I. Les langages de bas niveau

1. Qu'est-ce qu'un langage de bas niveau ?

Un langage de programmation est dit de bas niveau lorsque le codage de celui-ci se rapproche du langage machine (dit "binaire").

2. Le langage machine

Le langage machine est une suite de bits interprétable par le processeur d'un ordinateur. Il est composé d'instructions et de données à traiter codées en binaire. C'est le langage natif du processeur et le seul qui soit reconnu par celui-ci.

Chaque processeur possède son propre langage machine. Si un processeur A est capable d'exécuter toutes les instructions du processeur B, on dit que A est compatible avec B. L'inverse n'est pas forcément vrai : A peut avoir des instructions supplémentaires que B ne connaît pas.

Chaque famille de processeur utilise un jeu d'instructions (ensemble des instructions machines qu'un processeur peut exécuter) différent. Ces instructions machines permettent au processeur d'effectuer des opérations élémentaires ou plus complexes.

Le langage machine est le langage le plus bas niveau existant.

3. Le langage assembleur

Le langage assembleur est la représentation du langage machine sous une forme lisible par un humain. Les combinaisons de bits du langage machine sont représentées par des symboles "mnémoniques" plus faciles à retenir.

Le programme assembleur a pour rôle de convertir ces symboles en langage machine pour que le code puisse être exécutable par le processeur.

Chaque famille de processeur, nous l'avons vu, utilise un jeu d'instructions différent. C'est pour cela que le langage assembleur (représentation exacte du langage machine) est spécifique à chaque architecture de processeur.

4. Pourquoi avoir créé des langages de programmation ?

Les langages de bas niveau sont contre-productifs pour le développement d'application : il est très difficile et très long de développer un programme informatique entièrement dans un langage de bas niveau. C'est pour cela que sont apparus les langages de programmation dit "de haut niveau", beaucoup plus simples à comprendre pour un être humain.

5. Comment les langages de haut niveau peuvent-ils être exécutés par le processeur ?

Les codes sources écrits en langage de haut niveau, pour pouvoir être exécutés par le processeur, ont besoin d'être traduits en un langage de plus bas niveau. C'est le rôle du compilateur.

Un compilateur effectue les opérations suivantes : analyse lexicale, prétraitement (préprocesseur), décomposition analytique (parsing), analyse sémantique, génération de code et optimisation de code.

g:\slam 5\exposé oral pour le 17 décembre 2013\chaine_de_compilation_classique.png
Certains langages définis comme étant "semi-compilés" ou "semi-interprété" sont d'abord traduits en un langage intermédiaire sous forme binaire (on appelle ce langage code objet ou bytecode) avant d'être interprétés ou compilés : c'est par exemple le cas du Java.

Ce procédé à l'avantage d'assurer une indépendance vis-à-vis du matériel, car ce langage intermédiaire ainsi généré peut être par la suite transformé en code machine vers une architecture cible (x86, amd64, PowerPC, etc...), mais également une indépendance vis-à-vis du système d'exploitation, car il est interprété par une machine virtuelle. Ainsi, n'importe quel système prenant en charge la machine virtuelle spécifique au bytecode généré sera capable d'exécuter le programme.

Il est important de préciser que certains processeurs peuvent directement exécuter ce code intermédiaire : c'est le cas de certains processeurs gérant le bytecode Java nativement).

La différence avec les scripts, qui sont eux directement interprétés, réside dans les performances : le bytecode est plus facilement manipulable qu'un script, qui est lui conçu pour être intelligible par un être humain.

II. Les paradigmes de programmation

Un paradigme est une manière de programmer un ordinateur. La connaissance des paradigmes de langages de programmation permet une acquisition plus aisée de nouveaux langages, un meilleur usage et une création plus aisée de nouveaux langages.

Classification des Langages de Programmation

j:\slam 5\exposé oral pour le 17 décembre 2013\schema.png
  1   2   3

similaire:

Quels sont les différents langages de programmation ? iconMobilités touristiques et terminaux nomades
«suite servicielle», qui présente l’avantage d’éclairer d’un côté la demande (quels services ? dans quels contexte ? à quels moments...

Quels sont les différents langages de programmation ? iconNote : Pour tous les projets ci dessous, Les langages utilisés sont...

Quels sont les différents langages de programmation ? iconJournée d’étude «jeunes chercheurs»
«normes». Comment sont-elles pensées ? En fonction de quelles représentations des territoires par les institutions ? Comment sont-elles...

Quels sont les différents langages de programmation ? iconQu’estce que le consumérisme? Comment peuton le décrire? Quels en sont les moteurs?

Quels sont les différents langages de programmation ? iconNomination et qualifications des conseils : Quels sont les critères...

Quels sont les différents langages de programmation ? icon1. 1Contexte et définition de la problématique
«Quels sont les impacts environnementaux de la consommation des étudiants ?»

Quels sont les différents langages de programmation ? iconMémoires Raisonnement
«la cognition», fonctionne et quels sont les mécanismes, «les processus», qui permettent ce fonctionnement, c'est-à-dire comment...

Quels sont les différents langages de programmation ? iconObj : comprendre quels sont les moyens d’action des organisations...
«gadget». Doit ê perceptible du client, durable, sans différence de prix rédhibitoire. Ex : Dyson et les aspirateurs

Quels sont les différents langages de programmation ? iconConsultation de la société civile sur la Stratégie conjointe ue-afrique...
«les grandes lignes de la stratégie2» ont été adoptées lors de la réunion de la troïka ministérielle ue-afrique. 3

Quels sont les différents langages de programmation ? iconQui pourriez-vous citer comme influence et pourquoi ? et quels sont...








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com