Programme informatique

Page d'aide sur l'homonymie Pour les articles homonymes, voir Programme.
Ne doit pas être confondu avec logiciel.

Un programme informatique est un ensemble d'opérations destinées à être exécutées par un ordinateur.

Un programme fait généralement partie d'un logiciel : un ensemble de composants numériques destiné à fournir un service informatique [3] ; un logiciel peut comporter plusieurs programmes. On en retrouve ainsi dans les appareils informatiques ( ordinateur, console de jeu, guichet automatique bancaire…), dans des pièces de matériel informatique, ainsi que dans de nombreux dispositifs électroniques ( imprimante, modem, GPS, téléphone mobile, machine à laver, appareil photo numérique, décodeur TV numérique, injection électronique, pilote automatique…).

Les programmes informatiques sont concernés par le droit d'auteur, et font l'objet d'une législation proche des œuvres artistiques.

Histoire

En 1842, la comtesse Ada Lovelace crée des diagrammes pour la machine analytique de Charles Babbage. Ces diagrammes sont considérés aujourd'hui comme étant les premiers programmes informatiques au monde [4]. Toutefois, cette théorie est sujet à controverse car Babbage a également écrit lui-même ses premiers programmes pour sa Machine Analytique, bien que la majorité n'ont jamais été publié [5]. Par exemple, Bromley note des exemples de programmes préparés par Babbage entre 1837 et 1840, toutes ses notes sont antérieures à ceux écrits par Lovelace [6]. Cependant le concept de programmation et de programme enregistré est d'abord formulé de manière théorique en 1936 par Alan Turing [7].

Dans les années 1940, les premiers ordinateurs, comme le Z3 ou le Mark I, sont créés. Les programmes informatiques étaient alors conçus par des analystes, rédigés par des programmeurs, et saisis par des opératrices sur des bandes type télex ou des cartes en carton perforé. Exécuter un programme consistait à entrer la bande ou la pile de cartes correspondante dans un lecteur électro-mécanique.

Le premier système d'exploitation a été développé en 1954. La même année sont apparus les premiers assembleurs et le premier compilateur pour le langage Fortran.

L'enseignement de la programmation était d'abord organisé chez les constructeurs d'ordinateurs et dans les premières universités où ces machines sont installées – dès le début des années 1950 en Angleterre et aux États-Unis, puis au milieu de la même décennie en Europe continentale et au Japon. Ce sont des cours techniques, mais la complexification croissante du sujet (compilateurs, systèmes) entraînera progressivement la constitution d'une science nouvelle [8].

L'avènement de la programmation structurée vers 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 ». De nouveaux langages de programmation ou de métaprogrammation sont régulièrement créés dans le but de simplifier et d’accélérer les possibilités offertes par programmation.

Enfin, la miniaturisation des ordinateurs, et la généralisation des interface graphique ont largement contribué à la démocratisation de l'utilisation de l'ordinateur, au point que dans les années 2010, la généralisation des smartphones permet aux utilisateurs d’exécuter des programmes informatiques en permanence.

Other Languages
Afrikaans: Rekenaarprogram
azərbaycanca: Kompüter proqramları
беларуская (тарашкевіца)‎: Праграма
brezhoneg: Goulev
Mìng-dĕ̤ng-ngṳ̄: Diêng-nō̤ tiàng-sê̤ṳ
Gaeilge: Ríomhchlár
Bahasa Indonesia: Program komputer
íslenska: Forrit
la .lojban.: selsampla
Taqbaylit: Ahil
Lëtzebuergesch: Computerprogramm
latviešu: Datorprogramma
Malagasy: Fandaharana
олык марий: Программе
македонски: Сметачки програм
Bahasa Melayu: Atur cara komputer
Nederlands: Computerprogramma
Runa Simi: Wakichi
srpskohrvatski / српскохрватски: Kompjuterski program
Simple English: Computer program
slovenščina: Računalniški program
svenska: Datorprogram
oʻzbekcha/ўзбекча: Kompyuter dasturi
Bân-lâm-gú: Tiān-náu thêng-sek
粵語: 電腦程式