Programmation impérative
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.
Langages à objets
C++ - C# - D
Delphi - Eiffel - Groovy
Java - Lisaac - Python - Ruby
Simula - Smalltalk
Visual Basic - WLangage
Langages impératifs
APL - ASP - Assembleur
BASIC (En programmation, BASIC est un acronyme pour Beginner's All-purpose Symbolic Instruction Code. qui désigne une famille de langages de programmations de haut niveau.) - C - Cobol (COBOL est un langage de programmation de troisième génération créé en 1959 (officiellement le 18 Septembre 1959). Son nom est...) - Natural (Natural est un langage de programmation semi-compilé, édité par la société allemande Software AG.)
Forth - Fortran - Limbo
Logo - Pascal - Perl - PHP (PHP (sigle de PHP: Hypertext Preprocessor), est un langage de scripts libre principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais pouvant également fonctionner comme n'importe quel...)
Langages fonctionnels
Haskell - ML/OCaml
Lisp/Common Lisp
Scheme - XSLT
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Voir aussi
Conception - Codage (De façon générale un codage permet de passer d'une représentation des données vers une autre.)
Tests - Optimisations

En informatique (L´informatique - contraction d´information et automatique - est le domaine d'activité scientifique, technique et industriel en rapport avec le traitement automatique de l'information par...), la programmation impérative (En informatique, la programmation impérative est un paradigme de programmation qui décrit les opérations en termes d'états du programme et de séquences d'instructions exécutées par l'ordinateur...) est un paradigme de programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante de la conception de logiciel (voire de matériel, cf. VHDL).) qui décrit les opérations en termes d'états du programme et de séquences d'instructions exécutées par l'ordinateur (Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un...) pour modifier l'état du programme.

Langages impératifs et processeurs

L'implémentation (Le mot implantation peut avoir plusieurs significations :) de la quasi totalité des processeurs qui équipent les ordinateurs est de nature impérative : ils sont faits pour exécuter du code écrit sous forme d'opcodes (pour operation codes), qui sont des instructions élémentaires exécutables par le processeur (Le processeur, ou CPU (de l'anglais Central Processing Unit, « Unité centrale de traitement »), est le composant de l'ordinateur qui exécute les programmes...). L'ensemble (En théorie des ensembles, un ensemble désigne intuitivement une collection d’objets (les éléments de l'ensemble), « une multitude qui peut être...) des opcodes forme le langage machine (Le langage machine est la suite de bits qui est interprétée par le processeur de l'ordinateur lors de l'exécution d'un programme. C'est le langage natif du processeur. Il est aussi appelé code machine. Chaque processeur a...) spécifique au processeur et à son architecture (L’architecture peut se définir comme l’art de bâtir des édifices.). L'état du programme à un instant (L'instant désigne le plus petit élément constitutif du temps. L'instant n'est pas intervalle de temps. Il ne peut donc être considéré comme une durée.) donné est défini par le contenu de la mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir d'une information.) centrale à cet instant, et le programme lui-même est écrit en style impératif en langage machine, ou le plus souvent dans une traduction lisible par les humains du langage machine, dénommée assembleur.

Les langages de plus haut niveau utilisent des variables et des opérations plus complexes, mais suivent le même paradigme. Les recettes de cuisine (La cuisine est l'ensemble des techniques de préparation des aliments en vue de leur consommation par les êtres humains (voir cuisinerie). La cuisine est diverse...) et les vérifications de processus industriel sont deux exemples de concepts familiers qui s'apparentent à de la programmation impérative ; de ce point (Graphie) de vue (La vue est le sens qui permet d'observer et d'analyser l'environnement par la réception et l'interprétation des rayonnements lumineux.), chaque étape est une instruction (Une instruction est une forme d'information communiquée qui est à la fois une commande et une explication pour décrire l'action, le comportement, la méthode ou la tâche qui devra commencer, se terminer, être conduit, ou exécuté.), et le monde (Le mot monde peut désigner :) physique (La physique (du grec φυσις, la nature) est étymologiquement la « science de la nature ». Dans un sens général et ancien,...) constitue l'état modifiable. Puisque les idées basiques de la programmation impérative sont à la fois conceptuellement familières et directement intégrées dans l'architecture des microprocesseurs, la grande majorité des langages de programmation sont impératifs.

Instructions impératives principales

La plupart des langages de haut niveau comportent quatre types d'instructions principales : l'assignation, le bouclage, le branchement conditionnel, et le branchement sans condition.[réf. nécessaire]

  • Les instructions d'assignation, en général, effectuent une opération sur l'information en mémoire et y enregistrent le résultat pour un usage (L’usage est l'action de se servir de quelque chose.) ultérieur. Les langages de haut niveau permettent de plus l'évaluation d'expressions complexes, qui peuvent consister en une combinaison (Une combinaison peut être :) d'opérations arithmétiques et d'évaluations de fonctions, et l'assignation du résultat en mémoire.
  • Les branchements conditionnels permettent à un bloc d'instructions de n'être exécuté que si une condition prédéterminée est réalisée. Dans le cas contraire, les instructions sont ignorées et la séquence d'exécution continue à partir de l'instruction qui suit immédiatement la fin du bloc.
  • Les branchements sans condition permettent à la séquence d'exécution d'être transférée à un autre endroit du programme. Cela inclut le saut, appelé " goto " dans de nombreux langages, et les sous-programmes, ou appels de procédures.
  • Les instructions de bouclage servent (Servent est la contraction du mot serveur et client.) à répéter une suite d'instructions un nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) prédéfini de fois, ou jusqu'à ce qu'une certaine condition soit réalisée. Les instructions de bouclage peuvent être vues comme des sauts conditionnels, c'est-à-dire la combinaison d'un branchement conditionnel et d'un saut.

Un bref historique

Les langages impératifs les plus anciens sont les langages machine des premiers ordinateurs. Dans ces langages, le jeu d'instructions était minimal, ce qui rendait l'implémentation hardware plus simple, mais empêchait la création de programmes complexes. Le premier compilateur - un programme destiné à vérifier un programme au préalable et à le traduire en langage machine - dénommé A0, fut écrit en 1951 par Grace Murray Hopper. FORTRAN, développé par John Backus (John Backus (né le 3 décembre 1924 et mort le 17 mars 2007 à Ashland dans l'Oregon), est un pionnier de l'informatique. Il est principalement connu pour ses deux réalisations marquantes :) chez IBM (International Business Machines Corporation (IBM) est une société multinationale américaine présente dans les domaines du matériel informatique, du logiciel et des services informatiques.) à partir de 1954, fut le premier langage de programmation (Un langage de programmation est un langage informatique, permettant à un être humain d'écrire un code source qui sera analysé par une machine, généralement un...) capable de réduire les obstacles présentés par le langage machine dans la création de programmes complexes. FORTRAN était un langage compilé, qui autorisait entre autre l'utilisation de variables nommées, d'expressions complexes, et de sous-programmes. Après plusieurs révisions du langage, en 1978 et en 1990, FORTRAN est toujours utilisé dans le milieu scientifique (Un scientifique est une personne qui se consacre à l'étude d'une science ou des sciences et qui se consacre à l'étude d'un domaine avec la rigueur et les méthodes scientifiques.) pour la qualité de ses bibliothèques numériques et sa grande rapidité, ce qui en fait le langage informatique (On appelle langage informatique un langage formel utilisé lors de la conception, la mise en œuvre, ou l'exploitation d'un système d'information. Le terme est toutefois utilisé dans...) ayant eu la plus grande longévité (La longévité d'un être vivant est la durée de vie pour laquelle il est biologiquement programmé, dans des conditions idéales et en l'absence de maladie ou...). Les deux décennies suivantes virent l'apparition de plusieurs autres langages de haut niveau importants. ALGOL, développé en 1958 par un consortium américano-européen pour concurrencer FORTRAN, qui était un langage propriétaire, fut l'ancêtre de nombreux langages de programmation d'aujourd'hui. COBOL (1960) et BASIC (1963) étaient deux tentatives pour rendre la syntaxe plus proches de l'anglais, et donc plus accessible. COBOL était spécifiquement destiné aux applications de gestion, tandis que BASIC avait essentiellement un but éducatif. Sa simplicité et le fait qu'il soit interprété facilitaient grandement la mise au point des programmes, ce qui lui conféra rapidement une grande popularité, malgré la pauvreté de ses constructions. Malheureusement, cette pauvreté même devait mener à une quantité (La quantité est un terme générique de la métrologie (compte, montant) ; un scalaire, vecteur, nombre d’objets ou d’une autre manière de dénommer la valeur d’une collection ou un groupe de...) de programmes non structurés et donc difficilement maintenables. Après un article de Dijkstra dénonçant les ravages de BASIC, la réputation de BASIC comme langage pour l'enseignement (L'enseignement (du latin "insignis", remarquable, marqué d'un signe, distingué) est une pratique d'éducation visant à développer les connaissances...) de la programmation déclina.

Dans les années 1970, le Pascal fut développé par Niklaus Wirth (Niklaus Wirth, professeur d'informatique et inventeur de plusieurs langages de programmation, est né le 15 février 1934, à Winterthour (Suisse).), dans le but d'enseigner la programmation structurée (La programmation structurée peut être vue comme un sous-ensemble, ou une branche, de la programmation impérative, un des paradigmes majeurs de la programmation.) et modulaire. Pascal combinait les meilleures constructions des langages COBOL, FORTRAN et ALGOL dans un ensemble élégant, mais simpliste, qui lui assura un succès durable comme langage d'initiation (en remplacement de BASIC). À la même époque, Dennis Ritchie (Dennis MacAlistair Ritchie (9 septembre 1941) est un des pionniers de l'informatique moderne, inventeur du langage C et développeur de Unix.) créa C aux laboratoires Bell (Bell Aircraft Corporation est un constructeur aéronautique américain fondé le 10 juillet 1935. Après avoir construit des avions de combat durant la Seconde Guerre...), pour le développement du système Unix. La puissance (Le mot puissance est employé dans plusieurs domaines avec une signification particulière :) du C, permettant grâce aux pointeurs de travailler à un niveau proche de la machine, ainsi qu'un accès complet aux primitives du système lui assura un succès qui ne s'est jamais démenti depuis. Par la suite, Niklaus Wirth fut à l'origine de Modula-2, Modula-3, et d'Oberon, les successeurs de Pascal. En 1974, le Department of Defense des États-Unis cherchait un langage dont le cahier des charges (Un cahier des charges est un document visant à définir exhaustivement les spécifications de base d'un produit ou d'un service à réaliser. Outre les spécifications de base, il décrit ses modalités d'exécution. Il définit aussi les...) mettait l'accent sur la sûreté d'exécution, pour tous ses besoins futurs (Futurs est une collection de science-fiction des Éditions de l'Aurore.). Le choix se porta sur Ada, langage créé par Jean Ichbiah (Jean David Ichbiah est un polytechnicien né le 25 mars 1940 et mort le 26 janvier 2007 à Boston. Il fut le principal concepteur du langage de programmation Ada entre 1977 et 1983, en réponse à un appel d'offre du...) à Honeywell, dont la spécification ne fut complétée qu'en 1983.

Dans les années 1980, devant les problèmes que posaient la complexité (La complexité est une notion utilisée en philosophie, épistémologie (par exemple par Anthony Wilden ou Edgar Morin), en physique, en biologie (par exemple par Henri Atlan), en sociologie, en informatique ou en sciences de...) grandissante des programmes, il y eut un rapide gain d'intérêt pour la programmation orientée objet (La programmation par objet (du terme anglo-saxon Object-Oriented Programming ou OOP), est un paradigme de programmation, il consiste en la définition et l'assemblage de...). Smalltalk-80, conçu à l'origine par Alan Kay (Alan Kay est un informaticien américain. Il rejoint les laboratoires PARC de Xerox en 1970, où il travaille sur le langage Smalltalk et sur la conceptualisation de l'ordinateur personnel moderne. Alan Kay...) en 1969, fut présenté en 1980 par le Palo Alto Research Center de la compagnie Xerox (Xerox est une entreprise américaine, basée à Stamford (Connecticut).) (États-Unis). À partir des concepts objet (De manière générale, le mot objet (du latin objectum, 1361) désigne une entité définie dans un espace à trois dimensions, qui a une fonction précise, et qui peut être désigné par une étiquette verbale. Il est défini...), Bjarne Stroustrup (Bjarne Stroustrup (11 juin 1950 à Aarhus, Danemark - ) est informaticien, écrivain et professeur de sciences informatiques. Il est connu pour être l'auteur du langage de programmation C++, l'un des plus utilisés...), chercheur (Un chercheur (fem. chercheuse) désigne une personne dont le métier consiste à faire de la recherche. Il est difficile de bien cerner le métier de chercheur tant les domaines de recherche sont diversifiés et impliquent d'importantes...) aux Bell Labs, conçut en 1985 une extension orientée objet de C nommée C++, qui gardait la vitesse (On distingue :) de C. Parallèlement, une extension à C moins ambitieuse, mais inspirée de Smalltalk avait vu le jour (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la période entre deux nuits, pendant laquelle les rayons du Soleil éclairent le ciel. Son début (par rapport à minuit heure locale)...), Objective C. Le succès d'Objective C, notamment utilisé pour le développement sur les stations NeXT (NeXT Computer, Inc (devenue NeXT Software, Inc) était une entreprise d’informatique fondée par Steve Jobs en 1985 après son départ d’Apple.) et Mac OS X (Mac OS X est une ligne de systèmes d’exploitation propriétaire développés et commercialisés par Apple, dont la version la plus récente (Mac OS X 10.5 dit 'Leopard' fin...), est resté faible par rapport à C++. Le langage Common Lisp fut le premier langage à objets (CLOS) standardisé par l'ANSI, en 1995. Dans les décennies 1980 et 1990, de nouveaux langages impératifs interprétés ou semi-interprétés doivent leur succès au développement de scripts pour des pages web dynamiques et les applications client-serveur (L'architecture client/serveur désigne un mode de communication entre plusieurs ordinateurs d'un réseau qui distingue un ou plusieurs postes clients du serveur : chaque logiciel...). On peut citer dans ces catégories Perl (Larry Wall, 1987), Tcl (John Ousterhout, 1988), Python (Guido van Rossum, 1990), PHP et Java (Sun Microsystems, 1996). On peut également citer le langage français W-Langage de WinDev (1992), qui a par la suite évolué vers l'objet.

Les langages de programmation impératifs doivent être distingués d'autres types de langages, les langages fonctionnels et les langages de programmation logique (La programmation logique est une forme de programmation qui définit les applications à l'aide d'un ensemble de faits élémentaires les concernant et de...). Les langages fonctionnels, tels que Haskell ou ML, ne sont pas des suites d'instructions et ne s'appuient pas sur l'idée d'état global, mais au contraire tendent à s'extraire de ce modèle pour se placer à un niveau plus conceptuel (qui a ses fondations (Les fondations d'un ouvrage assurent la transmission et la répartition des charges (poids propre et surcharges climatiques et d'utilisation) de cet ouvrage sur le sol. Le mode de fondation...) dans le lambda-calcul). Les langages de programmation logiques, tels que Prolog, se concentrent sur ce qui doit être calculé, et non comment le calcul doit être effectué.

Page générée en 0.178 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique