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.
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 sources, 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.
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.
En génie logiciel, des études préliminaires permettent de préparer et simplifier le travail de programmation. Les résultat que doit donner le programme ainsi que sa construction générale sont préalablement analysés et inscrit 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.
Les programmes sont distribués sous forme de logiciel: un ensemble qui comprends 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.
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 :
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.