0% ont trouvé ce document utile (0 vote)
8 vues4 pages

Concepts clés des langages de programmation

progra

Transféré par

pbanque331
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues4 pages

Concepts clés des langages de programmation

progra

Transféré par

pbanque331
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Un thread

Une suite d'instructions en train d'être exécutée. Les langages de programmation qui
manipulent les threads permettent d'effectuer plusieurs tâches simultanément. Cette
possibilité d'exécution simultanée, offerte par les systèmes d'exploitation, est
également offerte en allégé par les runtime des langages de programmation29. [ ]

La liaison tardive
Le procédé de liaison (anglais late binding ou dynamic binding) consiste à associer
chaque identifiant d'un programme avec l'emplacement de mémoire concerné. Cette
opération peut être effectuée lors de la traduction du programme, au cours de
l'exécution du programme ou juste avant30, elle est dite tardive lorsque l'opération de
[ ]

liaison est effectuée très tard, juste avant que l'emplacement concerné ne soit
utilisé31.
[ ]

La réflexion
La possibilité pour un programme d'obtenir des informations concernant ses propres
caractéristiques. Des instructions du langage de programmation permettent à un
programme d'obtenir des informations sur lui-même et de les manipuler comme des
données32. [ ]

Une monade
Une structure permettant de manipuler des traits impératifs dans des langages
fonctionnels purs.

Historique
Article détaillé : Chronologie des langages de programmation.
Bien que la notion de programme apparaisse progressivement au cours de la
deuxième moitié du XIXe siècle, les premiers langages de programmation
n'apparaissent qu'autour de 195033. Chacun pouvant créer son propre langage, il est
[ ]

impossible de déterminer le nombre total de langages existant à l'heure actuelle.

Utilisations
On peut aussi classer les langages de programmation en fonction de leur utilisation,
car beaucoup de langages sont spécialisés à une application ou à un domaine
particulier.

Langages pour pages Web dynamiques


Voir la catégorie : Langage pour pages Web dynamiques.
Ce type de langage est utilisé pour une plus grande interaction entre un client et un
serveur.

Du côté du serveur web, cela permet de produire des pages dont le contenu est
généré à chaque affichage. Ces langages sont par ailleurs souvent couplés avec un
langage pour communiquer avec des bases de données
(exemples : PHP, LiveCode).
Côté client (en général le navigateur web), ces langages offrent la possibilité de
réagir à certaines actions de l'utilisateur sans avoir à questionner le serveur. Par
exemple, le JavaScript d'une page Web peut réagir aux saisies de l'utilisateur dans
un formulaire (et vérifier le format des données).

Certains langages permettent de développer à la fois les aspects client et serveur.


C'est le cas d'Ocsigen, de Hop, de Dart ou bien encore du Server-Side JavaScript.

Langages de programmation théorique


Voir la catégorie : Langage de programmation théorique.
On désigne parfois par langage de programmation théorique les systèmes
formels utilisés pour décrire de façon théorique le fonctionnement des ordinateurs. Ils
ne servent pas à développer des applications, mais à représenter des modèles et
démontrer certaines de leurs propriétés.

On peut citer la machine de Turing et le λ-calcul de Church, qui datent tous les deux
des années 1930, et donc antérieurs à l'invention de l'ordinateur. Le λ-calcul a par la
suite servi de base théorique à la famille des langages de programmation
fonctionnelle. Dans les années 1980, Robin Milner a mis au point le π-calcul pour
modéliser les systèmes concurrents.

Langages exotiques
Article détaillé : Langage de programmation exotique.
Les langages exotiques ont pour but de créer des grammaires complètes et
fonctionnelles, mais dans un paradigme éloigné des conventions. Beaucoup sont
d'ailleurs considérés comme des blagues.

Ces langages sont généralement difficiles à mettre en pratique et donc rarement


utilisés.

Langages spécialisés

 ABEL, langage pour la programmation électronique des PLD.


 CDuce, langage fonctionnel d'ordre supérieur pour la manipulation de documents au
format XML.
 Forme de Backus-Naur (BNF), formalisation des langages de programmation.
 PROMELA, langage de spécification de systèmes asynchrones.
 VRML, description de scènes en trois dimensions.
Langages synchrones
Langages de programmation synchrones pour les systèmes
réactifs : Esterel, Lustre, Signal.

Langages à vocation pédagogique


Les pseudo-codes ont généralement un but uniquement pédagogique.

 Logo est un langage fonctionnel simple à apprendre.


 Dans les années 1990, le langage BASIC était souvent conseillé pour débuter. Il avait
cependant la réputation de favoriser la prise de mauvaises habitudes de programmation.
 Le Processing est un langage simplifié qui s'appuie sur Java. Il permet un
développement d'applications fenêtrées sur tout type d'ordinateur équipé de Java.
 L'Arduino est un langage simplifié s'appuyant sur C/C++. Il permet un développement
simple de projets électroniques à partir de carte Arduino (AVR).
 L'ArduinoEDU est un langage encore plus simple, en français, pour les grands débutants
s'appuyant sur le langage C/C++/Arduino. Il permet un développement très simple de
projets électroniques à partir de cartes Arduino (AVR).
 Flowgorithm est un outil de création et modification graphique de programmes
informatiques sous forme d'Algorigramme.
Langages pour l'électronique numérique

 Verilog, VHDL : langages de description matérielle, permettant de synthétiser de


l'électronique numérique (descriptions de portes logiques) et d'en simuler le
fonctionnement.
 SystemC, langage de description matérielle de plus haut niveau que les précédents et
permettant une simulation plus rapide.
Langages pour la statistique
Ces langages sont conçus pour lire des fichiers de données de grande taille, pouvant
se présenter sous une grande variété de formats. Ils comportent en outre une
bibliothèque spécialisée dans les traitements statistiques non élémentaires
(régressions multivariées, ACP, filtres ARMA, etc.), contrairement aux tableurs, qui
n'offrent que des traitements élémentaires opérant sur moins de 100 000 données
environ. Les plus connus : R, SAS et xLispStat, sont à la fois des langages de
programmation et des interpréteurs de script, utilisables en ligne de commande.

Langages de programmation de Commande Numérique (C.N.)

Article détaillé : Programmation de commande numérique.


Une machine-outil automatisée, ou Commande Numérique (C.N.), a besoin d'un
langage de programmation pour réaliser les opérations de tournage ou de fraisage…

Langages de programmation des automates programmables industriels (API)

 Sequential function chart, langage graphique, dérivé du grafcet (NB : le grafcet définit les
spécifications de façon graphique).
 Langage Ladder, langage graphique.
Langages de programmation audio
Nyquist est un langage de synthèse et d'analyse sonore. Pure Data est un logiciel de
création musicale graphique qui repose sur un langage de programmation
procédural.

Performances
Étude comparative de 27 langages
Six chercheurs de trois universités portugaises ont mené une étude comparative de
27 langages de programmation, intitulée « Energy Efficiency Across Programming
Languages ». Ils ont étudié la consommation d'énergie, le temps d'exécution et
l'utilisation de la mémoire. Pour obtenir un ensemble de programmes comparables,
les chercheurs ont exploré le Computer Language Benchmarks Game (CLBG).
Le tableau obtenu présente les résultats globaux (en moyenne) pour la
consommation d'énergie (Energy), le temps d'exécution (Time) et la consommation
maximale de la mémoire (Mb) normalisés par rapport au langage le plus efficace
pour le critère mesuré.

Les cinq meilleurs langages sont34 :


[ ]

Pour la consommation d'énergie

 C : 1,00
 Rust : 1,03
 C++ : 1,34
 Ada : 1,70
 Java : 1,98
Pour le temps d'exécution

 C : 1,00
 Rust : 1,04
 C++ : 1,56
 Ada : 1,85
 Java : 1,89
Pour la consommation maximale de mémoire

 Pascal : 1,00
 Go : 1,05
 C : 1,17
 Fortran : 1,24
 C++ : 1,34

Vous aimerez peut-être aussi