Ben quand tu parles, tu utilises une langue, le français, l´anglais, l´allemand... Et ton ordi, lui, il comprend pas ces langues, tu ne peux pas lui dire : "Ecris 5 à l´écran", dont tu es obligé de passer par un langage de programmation, et il y en a des tonnes, des langages compilés (c´est ce qui donne des .exe, tu peux pas voir la source (le code)), des langages semi-compilés ou semi-interprétés (surtout les langages Web tels que le PHP, le Java (c´est pas QUE Web celui-là mais bon...)) ou des langages interprétés comme le HTML (qui n´est pas vraiment un langage mais bon...).
En C :
- include <stdio.h>
int main()
{
printf("5");
return 0;
}
En PHP :
<?php
echo("5");
?>
Et autres, chaque langage a sa particularité qui le rend plus ou moins compétent dans tel ou tel programme. Mais généralement quand tu maîtrises un langage à fond, tu peux faire à peu près ce que tu veux (évidemment, comme je l´ai dit, tu n´écriras pas Windows en QBasic, qui est un des tous premiers langages, c´est comme si tu voulais faire une dissertation de philo avec les mots et grognements de l´âge de Pierre :p ).
Bref, la programmation, c´est un peu comme les maths (d´ailleurs quand on est bon en programmation, on est bon en maths généralement) parce qu´il faut écrire des algorythmes de calcul etc. En-dehors de ça, c´est un domaine à part entière qui te permet de faire des milliers de choses.
En fait, ton ordi, il connaît qu´un truc : le binaire. 0, 1... L´état d´un bit, allumé ou éteint (que l´on représente sous forme physique comme passage de courant ou non (le circule circule à une vitesse folle)). Par exemple quand tu cliques sur ta souris, une petite décharge est envoyée à ton unité centrale pour signaler le clic. Je ne sais pas comment ça se passe pour les langages semi-compilés ou semi-interprétés, mais pour les langages comme le C, en fait tu écris ce que tu veux que ton ordinateur fasse, et le compilateur transforme tout ça en binaire pour que ton ordinateur le comprenne ^^