Programme (informatique)

Programme (informatique)
Page d'aide sur l'homonymie Pour les articles homonymes, voir programme.

Un programme informatique est une suite d'opérations pré-déterminées destinées à être exécutées de manière automatique par un appareil informatique Turing-complet en vue d'effectuer des travaux, des calculs arithmétiques ou logiques, ou simuler un déroulement.

Le code source est la forme sous laquelle un programme est créé par un programmeur : Un texte décrivant formellement le fonctionnement et rédigé conformément aux règles d'un langage de programmation.

Le code source est transformé automatiquement en programme exécutable : une suite d'instructions machine qui peuvent être exécutées de manière automatique par un processeur - composant électronique moteur des appareils informatiques.

Des programmes sont présents dans tous les appareils informatiques: ordinateur, console de jeu, guichet automatique bancaire. Des programmes sont également présent dans des pièces de matériel informatique ainsi que de nombreux dispositifs électroniques: imprimante, modem, GPS, téléphone mobile, machine à laver, appareil photo numérique, décodeur TV numérique, injection électronique ou pilote automatique.

Sommaire

Histoire

  • En 1842 la comtesse Ada Lovelace crée des diagrammes pour la machine analytique de Babbage, diagrammes qui sont considérés aujourd'hui comme étant les premiers programmes informatiques au monde.
  • En 1936, la publication de l'article fondateur de la science informatique On Computable Numbers with an Application to the Entscheidungsproblem[1] par Alan Turing allait donner le coup d'envoi à la création de l'ordinateur programmable. Il y présente sa machine de Turing, le premier calculateur universel programmable, et invente les concepts modernes de programmation et de programme.
  • Le Harvard Mark I, machine mécanographique construite en 1944 est le premier appareil construit selon le principe du calculateur universel machine de Turing.
  • Dans les années 1950 les programmes informatiques étaient des inscriptions sur des cartes en carton perforé. La programmation consistait à percer des trous dans le carton. Ce travail fastidieux était souvent effectué par des femmes. Exécuter un programme consistait à soumettre une pile de cartes — préalablement triées — à un lecteur de carte. un appareil dont la mécanique est semblable à celle des piano mécaniques. Cette technique a subsisté jusqu'en 1980.
  • L'avènement de la programmation structurée en 1970 a grandement simplifié le travail des programmeurs et permis la création de programmes traitant des tâches plus nombreuses et plus complexes. Il en va de même avec l'avènement de la programmation orientée objet entre 1980 et 1990, Conformément à la phrase d'Edsger Dijkstra : « Les progrès ne seront possibles que si nous pouvons réfléchir sur les programmes sans les imaginer comme des morceaux de code exécutable ».
  • Le premier système d'exploitation a été créé en 1954. La même année sont apparus les premiers assembleurs, et le premier compilateur pour le langage FORTRAN.
  • C'est l'invention des mémoires à tore de ferrite en 1950 qui a marqué le début des programmes enregistrés, programmes qui sont chargés dans la mémoire avant d'être exécutés et qui utilisent la mémoire pour stocker des informations temporaires dans des variables comme cela se fait encore aujourd'hui.
  • De 1980 à 1990 la généralisation des programmes avec interface utilisateur graphique ont permis l'utilisation des programmes moyennant avec très peu de formation et contribué à la démocratisation de l'utilisation de l'ordinateur. Auparavant les programmes étaient utilisés par des professionnels.

Langage de programmation

Article détaillé : langage de programmation.

Un langage de programmation est un ensemble de règles qui permettent d'écrire des programmes sous une forme - le code source - qui pourra être transformé en suite d'instructions machine par un programme (compilateur, assembleur ou interprète).

La programmation consiste à créer des programmes, en parcourant le chemin qui va d'une idée - souvent vague - jusqu'à une suite d'instructions précises exécutées par une machine. L'obtention d'un processus métier, d'un algorithme, puis d'un code source sont trois jalons de ce chemin[2]. Les langages de programmation ont été créés dans l'optique de faciliter le travail du programmeur en raccourcissant le chemin qui va de l'idée au code source[3].

Entre 1950 et 2000, plus de 50 langages de programmation sont apparus. chacun apportait un lot de nouveaux concepts, de raffinements et d'innovations. Jusque dans les années 1950, l'utilisation des langages de programmation était semblable à l'écriture d'instructions machines. L'innovation des années 1960 a été de permettre une notation proche des mathématiques pour écrire des instructions de calcul. Les innovations des années 1970 ont permis l'organisation et l'agrégation des informations manipulées par les programmes - voir structure de données et structure de contrôle. Puis l'arrivée de la notion d'objet a influencé l'évolution des langages de programmation postérieurs à 1980[4].

Typologie

  • Un microprogramme est un programme incorporé dans un appareil informatique. Il est souvent gravé sur une puce soudée dans l'appareil. Il s'agit souvent d'un programme de diagnostic pour vérifier le bon fonctionnement de l'appareil, ou un programme qui prend en charge les technologies en rapport avec cet appareil (exemple: protocoles réseau dans un routeur, interface IDE dans un disque dur...).
  • Un programme embarqué est le programme qui fait fonctionner de façon autonome un appareil électronique, ou comportant une partie électronique de contrôle (machine à laver, automobile). Il est également généralement gravé sur une puce.
  • Un programme applicatif — une application — est un programme pour assister une / plusieurs personnes — les utilisateurs — dans une de leurs activités. exemple: un programme applicatif de traitement de texte assiste le(s) utilisateur(s) dans la rédaction de documents.
  • Un programme système est un programme pour assister, coordonner, unifier des opérations routinières des programmes applicatifs tels qu'afficher une image, ou lire un fichier.
    • Le système d'exploitation est l'ensemble des programmes système central qui assure la coordination de l'utilisation des ressources de l'ordinateur : mémoire, processeur, disque dur...
  • Un logiciel est en un bien composé d'un ou plusieurs programmes, associés avec différents compléments tels que mode d'emploi, exemples, ... Le tout peut être distribué et utilisé conformément à un contrat de licence d'utilisation.
  • Un composant logiciel est un programme destiné à être incorporé en tant que pièce détachée dans d'autres programmes, et qui est mis sur le marché séparément des programmes qui le contiennent.
    • Une bibliothèque est un composant qui regroupe un ensemble de fonctions utilitaires. Chaque fonction peut être exécutée à la demande et de manière isolée, par exemple par un programme applicatif.
  • hello world (Anglicisme qui signifie bonjour tout le monde): cas d'école d'un programme informatique trivial qui ne contient qu'une seule instruction : dire bonjour à l'utilisateur. Le code source de ce programme est souvent utilisé dans l'apprentissage de la programmation.

Cycle de vie

Un programme est rédigé par un programmeur, sous forme de code source, puis transformé en instructions machines par un programme particulier — compilateur ou assembleur. Le résultat de cette tranformation est un « programme exécutable » : une suite d'instructions utilisables par une gamme de machines en particulier.

Le programme est ensuite distribué soit par son code source, soit sous la forme empaquetée d'un logiciel. L'installation est la procédure qui permettra à l'utilisateur du logiciel de le mettre en place dans les emplacements prévus de son ou ses ordinateurs en vue de permettre son exécution.

Construction

La création d'un programme — programmation — consiste à rédiger des algorithmes dans un certains langage de programmation. Les algorithmes permettront de faire réaliser des opérations de manière automatique et systématique par un appareil informatique. Un programmeur est par définition une personne qui rédige des programmes.

La programmation est un processus de résolution de problèmes, qui vise à obtenir une opération ou un résultat de manière automatique. Il existe presque toujours plusieurs solutions pour le même problème[5].

En génie logiciel, des études préliminaires permettent de préparer et simplifier le travail de programmation. Les résultats que doit donner le programme ainsi que sa construction générale sont préalablement analysés et inscrits dans des documents de spécification fonctionnelle et d'architecture. Après l'écriture du programme, celui-ci subit une série de tests en vue de déceler et éliminer les bugs et vérifier que les automatismes créés par le programme sont conformes à ce qui est attendu.

Distribution

Les programmes sont distribués sous forme de logiciel: un ensemble qui comprend outre le programmes les divers fichiers nécessaires à son fonctionnement, et le mode d'emploi. Il est vendu sous un contrat de licence qui précise quels sont les droits de l'auteur et de l'acheteur : qui peut utiliser le programme, qui peut le copier, et qui peut modifier le code source.

Les programmes sont obtenus par l'acheteur via différents canaux de distribution, enregistrés sur des mémoires de masse tels que CD-ROM ou DVD, ou alors par téléchargement : récupération d'un programme enregistré sur un autre ordinateur par l'intermédiaire d'un réseau informatique.

Le programme exécutable est ensuite placé dans la machine pour laquelle il est prévu, qui l'exécutera sur demande autant de fois que nécessaire. L'installation est la procédure qui permettra à l'acheteur du logiciel de le mettre en place dans les emplacements prévus de son ou ses ordinateurs en vue de permettre son exécution.

Les entreprises font souvent usage de programme pour réaliser de manière automatique l'installation de leurs programmes sur les différents ordinateurs de l'entreprise.

Utilisation

Après avoir été installé, une simple opération (clic de souris, frappe au clavier) permet de lancer l'exécution des instructions du programme. Le programme est alors copié dans la mémoire de l'ordinateur, puis le processeur se mettra à exécuter les instructions. La première instruction s'appelle le point d'entrée.

L'exécution se termine une fois qu'une des conditions suivantes sont remplies :

  • Toutes les instructions ont été exécutées.
  • L'utilisateur a demandé d'arrêter le processus. Souvent quelques instructions de nettoyage sont exécutées avant l'arrêt du processus (exemple: suppression de données temporaires).
  • L'utilisateur a demandé de tuer le processus, c'est-à-dire de provoquer son arrêt immédiat.
  • crash, plantage (familier) : suite à une instruction A erronée (bug), l'instruction B est impossible à exécuter, cette situation provoque l'arrêt immédiat du processus.

Abandon

Un programme dépend souvent d'autres programmes pour fonctionner, c'est un produit qui par nature ne s'use pas, n'évolue pas et ne se déteriore pas avec le temps. L'évolution rapide du marché informatique amène une évolution des modes, des standards et des besoins des usagers. Un programme cesse d'être utilisé par l'acheteur le jour ou il ne correspond plus à ses attentes ou à son appareil informatique. Ceci amène les auteurs de programmes à adapter leurs produits à l'évolution constante du marché, ce qui amène les auteurs de programmes qui dépendent de celui-ci à eux aussi adapter leurs produits.

Les auteurs de programmes prolongent la durée de vie de leur produits en distribuant régulièrement des versions de leurs programmes adaptées aux nouvelles attentes et aux nouveaux produits informatique. Une version de programme est le programme tel qu'il était à un moment déterminé de son histoire, y compris toutes les adaptations et les améliorations qu'il a subies jusqu'à ce moment.

Sujets connexes

Un appareil informatique est une machine qui effectue des opérations sur des informations. Les opérations sont exécutées en suivant les instructions de programmes informatique, selon le modèle du calculateur universel imaginé par Alan Mathison Turing en 1936.

Un processeur est un composant électronique qui effectue des opérations en suivant des instructions. En 2009 les processeurs peuvent exécuter plusieurs centaines de millions d'instructions par seconde.

Un programme est typiquement composé d'un ensemble de procédures et de fonctions. Une procédure est une suite d'instructions destinées à réaliser une opération - par exemple trier une liste. Une fonction est une suite d'instructions destinées à produire un résultat - par exemple un calcul.

En mathématiques et en informatique, un algorithme est une suite d'opérations de calcul qui, réalisées de façon systématique, permettent d'obtenir un résultat. La suite d'opération peut être exécutée par un humain ou par un appareil informatique. Les programmes informatiques contiennent de nombreux algorithmes.

Un compilateur est un programme qui crée un programme exécutable en transformant les instructions d'un programme source écrit dans un langage de programmation donné en les instructions machines équivalentes d'un processeur donné.

Un assembleur est un compilateur simplifié, qui transforme des instructions machine écrites sous forme de mots clés (langage d'assemblage) en les suites de bits correspondantes.

Un interprète est un programme qui exécute les instructions machines équivalentes aux instructions d'un programme source formulées dans un langage de programmation donné.

Un langage de programmation est un ensemble de règles d'écriture de programmes source - vocabulaire et règles de ponctuation - qui permettent d'exprimer des programmes qui pourront être transformés en instruction machines à l'aide des algorithmes contenus dans un compilateur ou un interprète. Les instructions qu'un processeur exécute sont des suites de bits difficiles à comprendre et à manipuler par un humain, mais faciles à automatiser par des circuits électroniques. L'écriture du programme dans un langage de programmation donné est destinée à faciliter le travail du programmeur.

Un logiciel est un bien composé d'un ou de plusieurs programmes, associés à un contrat de licence par lequel l'auteur octroie au détenteur le droit d'utiliser le programme.

Un bug est un défaut de construction dans un programme. Les instructions que l'appareil informatique exécutent ne correspondent pas à ce qui est attendu, ce qui provoque des dysfonctionnements et des pannes.

Notes et références

  1. (en)On Computable Numbers with an Application to the Entscheidungsproblem
  2. Christian Piguet - Heinz Hügli, Du zéro à l'ordinateur: Une brève histoire du calcul, PPUR presses polytechniques - 2004, (ISBN 978-2-88074-469-4)
  3. National Research Council (U.S.). Committee on the Fundamentals of Computer Science: Challenges and Opportunities, Computer science: reflections on the field - reflections from the field, National Academies Press - 2004, (ISBN 978-0-309-09301-9)
  4. John C. Mitchell, Concepts in programming languages, Cambridge University Press - 2003, (ISBN 978-0-521-78098-8)
  5. D. S. Malik, C++ Programming: From Problem Analysis to Program Design,Cengage Learning, 2008, (ISBN 978-1-4239-0209-6)

Voir aussi

Sur les autres projets Wikimedia :

Liens internes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Programme (informatique) de Wikipédia en français (auteurs)

Игры ⚽ Поможем сделать НИР

Regardez d'autres dictionnaires:

  • Programme informatique — Un programme informatique est une liste d instructions indiquant à un ordinateur ce qu il doit faire. Il se présente sous la forme de courtes séquences d instructions appelées fonctions comportant souvent des données de base, chaque séquence… …   Wikipédia en Français

  • Programme (informatique) —  Succession d’instructions elementaires destinees a etre executees par une machine, les programmes sont decrits par des langages formels …   Glossaire de linguistique computationnelle

  • Dig (Programme Informatique) — Pour les articles homonymes, voir Dig. dig est un programme informatique de débogage de serveurs DNS. Utilisable en ligne de commande, il permet d interroger le serveur de son choix (par défaut, il utilise le même serveur que les applications… …   Wikipédia en Français

  • Dig (programme informatique) — Pour les articles homonymes, voir Dig. dig est un programme informatique de débogage de serveurs DNS. Utilisable en ligne de commande, il permet d interroger le serveur de son choix (par défaut, il utilise le même serveur que les applications… …   Wikipédia en Français

  • Tapis de Sierpinski (programme informatique) — Tapis de Sierpiński (programme informatique) Ces programmes récursifs écrits en langages Java, C et Caml génèrent des tapis de Sierpiński. La fonction TapisSierpinsky rédigée en Caml vous permet non seulement d obtenir un tapis de Sierpiński,… …   Wikipédia en Français

  • ALICE (programme informatique) — Pour les articles homonymes, voir alice. ALICE (de Artificial Linguistic Internet Computer Entity) est un programme informatique chatterbot. Il a gagné le Prix Loebner relatif au Test de Turing en 2000, 2001 et 2004. Cette section est vide,… …   Wikipédia en Français

  • Polaris (programme informatique) — Pour les articles homonymes, voir Polaris. Polaris est un programme informatique de poker Texas hold em développé par l Université de l Alberta. Actuellement Polaris joue uniquement du Limit Texas hold em en tête à tête (2 joueurs). Voir aussi… …   Wikipédia en Français

  • dig (programme informatique) — Pour les articles homonymes, voir Dig. dig est un programme informatique de débogage de serveurs DNS. Il signifie Domain Information Groper, littéralement Chercheur d Information sur les Domaines. Utilisable en ligne de commande, il permet aussi… …   Wikipédia en Français

  • programme — [ prɔgram ] n. m. • 1677 « description détaillée d un cours; sujet d un concours »; rare av. XIXe; gr. programma « ce qui est écrit à l avance » 1 ♦ Écrit annonçant et décrivant les diverses parties d une cérémonie, d un spectacle, etc. Programme …   Encyclopédie Universelle

  • Programme d'echecs — Programme d échecs Un programme d échecs est un programme informatique qui est capable de jouer aux échecs. Sommaire 1 Histoire 1.1 Aujourd hui 1.2 Chronologie des programmes d échecs …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”