La programmation aujourd’hui
Programmation
H3008 v1 Archive

La programmation aujourd’hui
Programmation

Auteur(s) : Bernard ROBINET

Date de publication : 10 août 1998

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

1 - De l’organigramme à la programmation structurée

2 - Récursivité

  • 2.1 - La récursivité simple
  • 2.2 - La récursivité vraie
  • 2.3 - Vers la programmation analytique

3 - Des structures de données aux objets

4 - La programmation aujourd’hui

Sommaire

Présentation

Auteur(s)

  • Bernard ROBINET : Professeur des Universités - Directeur scientifique de l’École nationale supérieure des télécommunications

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

INTRODUCTION

Si, dès l’Antiquité, Euclide avait décrit la suite d’opérations permettant de calculer le plus grand commun diviseur de deux entiers, il a fallu attendre le neuvième siècle de notre ère pour qu’un mathématicien arabe, Al Kwarismi (ou Al-Khawarizmi) explicite l’idée de description d’un procédé de calcul par une liste d’actions enchaînées à faire dans l’ordre où elles sont présentées : la notion d’algorithme prend corps, les techniques calculatoires progressent et, franchissant allègrement plusieurs siècles, on arrive à l’époque où l’ordinateur banalise, en quelque sorte, ce type d’artefact qu’est l’algorithme.

En effet, programmer un ordinateur, c’est construire un algorithme dont l’exécution par la machine conduit au résultat recherché ou escompté ; programmer, c’est donc aussi rédiger dans un langage traduisible – par interprétation ou par compilation, peu importe – sur un ordinateur une liste d’actions enchaînées.

Certains différencient avec force les deux activités que sont la création d’algorithmes et leurs rédactions dans des langages de programmation. Pendant longtemps, quelques-uns ont même restreint la programmation à une espèce de travail de codification d’algorithmes dans ces mêmes langages. Ce point de vue n’est pas celui adopté ici : décrire une liste ordonnée d’actions – c’est-à-dire un algorithme – nécessite l’emploi d’un certain langage. Que celui-ci soit le langage mathématique usuel ou toute espèce de sabir ne change rien à l’affaire : il doit être traduit et peut être compris par celui qui l’utilise, que ce soit pour exécution, pour transmission et appropriation. De plus, le langage mathématique usuel pouvant être rendu non ambigu, syntaxiquement et surtout sémantiquement, et, par là, être traduisible sur un ordinateur, on ne voit plus guère de différence avec un langage de programmation.

Aussi, dans la suite, il ne sera pas distingué entre algorithme et programme, et des langages ad hoc seront utilisés pour décrire l’activité de programmation.

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 93 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h3008

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

4. La programmation aujourd’hui

La programmation logique n’a pas été abordée ici : elle définit un monde où l’on décrit les données, les résultats, les relations qui existent entre eux, un programme spécifique cherchant toutes les valeurs instanciables des variables qui satisfont l’ensemble de l’énoncé. Ce mode de pensée a engendré quelques passions fortes mais l’engouement semble retomber au profit de la programmation par objets qui, contrairement à la programmation logique, ne diffère pas radicalement de la programmation impérative ou fonctionnelle. Elle demande simplement un autre mode de pensée : la priorité n’est plus donnée aux actions, mais aux objets.

Si le monde de la programmation impérative, fonctionnelle ou logique a engendré de nombreux travaux théoriques de grande qualité fondant la sémantique des diverses notions en les conceptualisant, il reste encore à faire dans le monde des objets car, bien qu’intuitifs, et peut-être à cause de cela, ils soulèvent des problèmes de consistance.

Quoi qu’il en soit, en matière de programmation, les idées ont évolué ces trente dernières années : elle n’est plus identifiée à la connaissance d’un langage, pas plus qu’elle n’est la manifestation d’aptitudes innées. La programmation est une discipline scientifique et technique à laquelle il convient d’être formé sérieusement.

HAUT DE PAGE
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
La programmation aujourd’hui

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 93 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre