PROGRAMMATION

Carte mentale

Élargissez votre recherche dans Universalis

Les systèmes informatiques ont considérablement évolué, depuis les machines d'origine. On peut le mesurer à l'aune des puissances de calcul vertigineuses offertes par les ordinateurs modernes, qui s'expriment en teraflops (un teraflop représente un millier de milliards d'opérations arithmétiques par seconde). Mais il ne s'agit là que d'un aspect somme toute mineur de cette évolution. D'une part, avec les progrès en miniaturisation, des programmes ont été introduits dans de nombreux objets de la vie quotidienne, à vocation aussi bien ludique qu'utilitaire : transports, électroménager, cartes de paiement, appareils médicaux... D'autre part, ces systèmes programmés ne sont généralement pas isolés, mais fonctionnent en réseau : nous avons donc affaire à des programmes qui communiquent entre eux, voire se déplacent ou sont modifiés en cours d'exécution. Qu'y a-t-il de commun entre de tels programmes et ceux que l'on mettait au point sur les machines d'après guerre ? Beaucoup de choses en réalité. Nous allons donc commencer par passer en revue les aspects conceptuels, fondamentaux, qui caractérisent toute activité de programmation, avant d'aborder des aspects plus spécifiques des problématiques posées par les gros logiciels. La seconde partie de cet article est consacrée à l'utilisation de formalismes logiques pour concevoir des programmes sûrs et vérifier qu'ils se comportent conformément aux attentes exprimées.

Programmes informatiques

Programme, interpréteur et compilateur

Un programme est tout d'abord un texte, c'est-à-dire une séquence de symboles. Pour prendre son sens en tant que programme, ce texte doit être mis en présence d'un mécanisme capable de le décoder et de produire un certain nombre de transformations. Ce mécanisme est appelé un interpréteur et l'ensemble des symboles utilisés est appelé le vocabulaire. Toutes les séquences de symboles ne forment pas des programmes : elles doivent respecter des règles de syntaxe, et celles-ci définissent le langage de programmation utili [...]


1  2  3  4  5
pour nos abonnés,
l’article se compose de 12 pages




Écrit par :

  • : professeur des Universités, professeur à l'université de Grenoble-I-Joseph-Fourier

Classification


Autres références

«  PROGRAMMATION  » est également traité dans :

BREVET DU PREMIER ROBOT INDUSTRIEL

  • Écrit par 
  • Pierre MOUNIER-KUHN
  •  • 288 mots

Un inventeur indépendant, George C. De Vol, développe et brevette aux États-Unis, en 1954, un système d'enregistrement magnétique capable de commander les opérations d'une machine. Pour le vendre, il crée, avec l'ingénieur Joseph F. Engelberger, la première entreprise de robotique, Unimation Inc. Le premier « Unimate » est vendu en 1961 à General Motors. Puis, d'autres techniciens perfectionnent l […] Lire la suite☛ http://www.universalis.fr/encyclopedie/brevet-du-premier-robot-industriel/#i_9033

COBOL (common business oriented language)

  • Écrit par 
  • Pierre GOUJON
  •  • 330 mots

Langage de programmation de haut niveau spécialement conçu pour des applications commerciales et des applications de gestion. Cobol autorise le traitement des gros fichiers sur supports séquentiels ou sélectifs à l'aide d'un vocabulaire et d'une syntaxe censés rappeler l'anglais courant. Cobol fut développé en 1959 au sein d'un comité de la Codasyl (Conference on data systems language) par un effo […] Lire la suite☛ http://www.universalis.fr/encyclopedie/cobol/#i_9033

FORTRAN (FORmula TRANslation)

  • Écrit par 
  • François PÊCHEUX
  •  • 313 mots

Historiquement, Fortran peut être décrit comme l'un des premiers langages de programmation de haut niveau ayant permis d'écrire de manière complète et détaillée des procédures de calcul ou des algorithmes complexes sans faire appel au langage d'assemblage. Sa syntaxe proche de celle du langage mathématique et sa simplicité font de lui un langage particulièrement bien adapté au traitement des prob […] Lire la suite☛ http://www.universalis.fr/encyclopedie/fortran/#i_9033

ITÉRATION, mathématique

  • Écrit par 
  • Jean-Paul DELAHAYE, 
  • Universalis
  •  • 876 mots

Itérer signifie recommencer, faire à nouveau. Construire les nombres entiers peut être vu comme l'opération consistant à partir de zéro à itérer indéfiniment l'ajout d'une unité. Plus généralement, en mathématiques, lorsqu'une fonction ou opération est disponible, il est fréquent d'en envisager l'itération, celle-ci conduisant soit à de nouvelles fonctions ou opérations, soit à des structures ou p […] Lire la suite☛ http://www.universalis.fr/encyclopedie/iteration-mathematique/#i_9033

KAHN GILLES (1946-2006)

  • Écrit par 
  • Gérard GIRAUDON, 
  • Gérard HUET
  •  • 988 mots
  •  • 1 média

Le Français Gilles Kahn a marqué le développement de l’informatique à la fois par ses travaux de recherche sur la sémantique des langages de programmation et par l’influence et le rayonnement de sa vision de l’informatique. […] Lire la suite☛ http://www.universalis.fr/encyclopedie/gilles-kahn/#i_9033

LANGAGE FORTRAN

  • Écrit par 
  • Pierre MOUNIER-KUHN
  •  • 246 mots

En informatique, les techniques de programmation ont évolué vers une plus grande facilité d'emploi par des utilisateurs de moins en moins avertis. Les algorithmes en langage-machine, code binaire adapté à l'architecture spécifique de chaque ordinateur, favorisaient la rapidité d'exécution et occupaient peu de mémoire. Toutefois, leur écriture comportait de grands risques d'erreurs et n'était acces […] Lire la suite☛ http://www.universalis.fr/encyclopedie/langage-fortran/#i_9033

LOGICIELS

  • Écrit par 
  • Jacques PRINTZ
  •  • 6 533 mots

Dans le chapitre « Place des logiciels dans la société »  : […] Le métier de programmeur, c'est-à-dire celui des ingénieurs qui conçoivent et valident les programmes, comporte plusieurs défis. Tout programme est d'abord une œuvre d'imagination qui se forme dans la tête de son concepteur ou dans celles d'une toute petite équipe de concepteurs, quand bien même il faudra, lors de son développement, des équipes qui peuvent se chiffrer par centaines de programmeu […] Lire la suite☛ http://www.universalis.fr/encyclopedie/logiciels/#i_9033

MICROÉLECTRONIQUE

  • Écrit par 
  • Claude WEISBUCH
  •  • 13 674 mots
  •  • 23 médias

Dans le chapitre «  Microélectronique et performance des ordinateurs »  : […] D'après les lois d'échelle, la performance des composants croît comme a 3 et le nombre d'opérations possibles logiques par puce augmente entre a et a 3 , suivant l'évolution du standard de la tension logique (cf. 4. Les limites physiques aux circuits intégrés). Comment varie alors la performance des ordinateurs ? La performance « théorique » d'un ordinateur (fig. 13) se décrit à l'aide de plusi […] Lire la suite☛ http://www.universalis.fr/encyclopedie/microelectronique/#i_9033

MILNER ROBIN (1934-2010)

  • Écrit par 
  • Universalis
  •  • 600 mots

Le Britannique Robin Milner a été l'un des pionniers de la science informatique. Il avait reçu en 1991 le prix Turing, l'une des plus prestigieuses récompenses en informatique, pour ses contributions majeures aux fondements de ce domaine. Né le 13 janvier 1934 à Yealmpton, dans le Devon et issu d'un milieu modeste, Arthur John Robin Gorell Milner étudie à l'Eton College, puis obtient une bourse po […] Lire la suite☛ http://www.universalis.fr/encyclopedie/robin-milner/#i_9033

APPRENTISSAGE AVEC LE NUMÉRIQUE

  • Écrit par 
  • André TRICOT
  •  • 1 341 mots

En moins d’un demi-siècle, les logiciels et les supports numériques ont profondément modifié de nombreux aspects de notre vie quotidienne. Dans le domaine des apprentissages académiques et de la formation professionnelle, ces modifications ont commencé au milieu des années 1980. Dans un premier temps, on s’est plutôt intéressé à l’apprentissage de l’informatique elle-même, notamment de la program […] Lire la suite☛ http://www.universalis.fr/encyclopedie/apprentissage-avec-le-numerique/#i_9033

ORDINATEURS

  • Écrit par 
  • Danièle DROMARD, 
  • François PÊCHEUX
  •  • 13 236 mots
  •  • 11 médias

Dans le chapitre « Les processeurs vectoriels et les techniques de vectorisation »  : […] Les machines scientifiques très puissantes, conçues pour travailler efficacement sur les vecteurs, possèdent des unités fonctionnelles commandées par un jeu d'instructions spécifiques, afin d'effectuer simultanément une même opération (par exemple, une addition), sur un grand nombre de données (les composantes des deux vecteurs à additionner). Ces machines utilisent généralement des processeurs s […] Lire la suite☛ http://www.universalis.fr/encyclopedie/ordinateurs/#i_9033

PL/1 (programming language number 1)

  • Écrit par 
  • Pierre GOUJON
  •  • 347 mots

Langage de programmation universel convenant à la fois aux problèmes scientifiques et aux applications à caractère commercial. Bien qu'on ne puisse vraiment le ranger dans la classe des langages algorithmiques, on trouve dans PL/1 l'essentiel des facilités offertes par Fortran et Algol. D'une utilisation simple, ce langage est accessible aussi bien aux programmeurs débutants qu'aux programmeurs ex […] Lire la suite☛ http://www.universalis.fr/encyclopedie/pl-1/#i_9033

PREMIERS ORDINATEURS - (repères chronologiques)

  • Écrit par 
  • Pierre MOUNIER-KUHN
  •  • 1 106 mots

1904 Le Britannique John Ambrose Fleming invente la diode, premier tube à vide comportant deux électrodes, qui permet de capter et de redresser un signal radio. 1906 L'Américain Lee De Forest invente la triode, tube à vide à trois électrodes, qui permet d'amplifier un faible courant électrique. Les tubes ou « lampes » de De Forest et de Fleming constituent le point de départ de l'électronique. 1 […] Lire la suite☛ http://www.universalis.fr/encyclopedie/premiers-ordinateurs-reperes-chronologiques/#i_9033

ROBOTIQUE ET PSYCHOLOGIE

  • Écrit par 
  • Philippe GAUSSIER
  •  • 2 143 mots
  •  • 2 médias

Dans le chapitre « Le robot comme outil »  : […] Les robots sont des outils que l’on rencontre de plus en plus fréquemment dans les laboratoires de psychologie. Ils sont souvent utilisés pour présenter à des sujets des actions qu’ils devront effectuer. L’analyse et la reproduction par un robot de gestes ou d’actions normalement réalisés par des humains permettent leur répétition de façon parfaitement identique. À l’inverse, on peut programmer u […] Lire la suite☛ http://www.universalis.fr/encyclopedie/robotique-et-psychologie/#i_9033

ROBOTS

  • Écrit par 
  • Philippe COIFFET
  •  • 14 020 mots
  •  • 2 médias

Dans le chapitre « Apprentissage du robot »  : […] Un robot ne peut exécuter une tâche que si, dans une phase préliminaire, on lui a donné les éléments permettant cette exécution. Ces derniers comportent deux parties : – L' operating system, c'est-à-dire les programmes et algorithmes permettant d'accomplir des actions de base ou primitives paramétrables et de les enchaîner. Cette partie est figée et l'opérateur n'intervient pas sur elle. – Les élé […] Lire la suite☛ http://www.universalis.fr/encyclopedie/robots/#i_9033

TÉLÉCOMMUNICATIONS - Informatique et télécommunications

  • Écrit par 
  • Gérard BARBERYE
  •  • 4 771 mots
  •  • 3 médias

Dans le chapitre « Les langages »  : […] Au début des années 1970, les logiciels de télécommunications étaient conçus à l'aide des langages d'assemblage qui permettent d'accéder directement aux instructions de l'ordinateur et donc de réaliser des programmes efficaces en temps d'exécution et en volume de mémoire, critères particulièrement importants à une époque où les processeurs et les mémoires avaient des capacités limitées. En revanch […] Lire la suite☛ http://www.universalis.fr/encyclopedie/telecommunications-informatique-et-telecommunications/#i_9033

Voir aussi

Pour citer l’article

Jean-François MONIN, « PROGRAMMATION », Encyclopædia Universalis [en ligne], consulté le 13 décembre 2019. URL : http://www.universalis.fr/encyclopedie/programmation/