# De l'algorithme à l'exécutable
---
## L'algorithme
```pseudo[1-8]
DEBUT
initialiser t à 0
initialiser i à 1
TANT QUE i < 10 REPETER
ajouter i à t
ajouter 1 à i
FIN
FIN
```
L'algorithme est un objet théorique. Il n'est pas écrit dans un langage de programmation.
---
## programme (ex: Python et C)
```python[1-6]
# python
t = 0
i = 1
while i < 10:
t += i
i += 1
```
```c[1-7]
// C
int t = 0;
int i = 0;
while (i<10) {
t += i;
i++;
}
```
---
## programme (ex: Python et C)
```python[1-6]
# monprogramme.py
t = 0
i = 1
while i < 10:
t += i
i += 1
```
Dans tous les cas, le programme est un simple texte. On le stocke dans un **fichier texte**.
Pour simplifier les choses, l'extension indique le langage : `monprogramme.py` ou `monprogramme.c`
---
## Pourquoi plusieurs langages ?
* certains langages sont plus performants mais plus difficiles.
* l'informatique est une science, le connaissances progressent, les langage évoluent.
* certains langages sont spécialisés dans certains usages.
* les grands entreprises poussent leurs produits (go pour google, C# pour Microsoft, Swift pour Apple...)
* c'est aussi affaire de goût, de mode...
---
## Python ?
* assez simple mais pas au top pour les performances
* généraliste
* beaucoup utilisé, grande communauté d'utilisateurs
* énormément de modules qui font à peu près tout ce dont on a besoin.
---
## Rédiger le programme

À un moment, on écrit le programme. C'est un simple fichier texte. Un éditeur de texte suffit.
---
## Exécuter le programme

À un autre moment, on exécute le programme.
**Problème :** La machine ne comprend ce qu'est ce fichier texte !
`programme.py` n'est pas exécutable !
---
## Interpréteur

Sur la machine, il faut qu'un exécutable soit présent : `python.exe`. C'est l'**interpréteur**.
---
## Interpréteur

**Petit problème :** Windows ne sait pas où se trouve `python.exe` !
Au lycée, on le trouve dans `C:\EduPython\App` mais ce n'est pas pratique de devoir s'en souvenir...
---
## Interpréteur

L'astuce est de configurer le PC pour lui dire de chercher automatiquement dans ce répertoire.
---
## Interpréteur

Maintenant que les détails sont réglés, la commande fonctionne.
L'interprète lit le contenu du fichier et dit à la machine quoi faire.
Python est un langage **interprété** : la traduction est faite en même temps que l'exécution.
---
## Console

À noter que si on ne précise pas de programme, `python.exe` fonctionne en mode console.
`>>>` représente l'invite de la console.
---
## Environnement
Comme c'est (au début) compliqué d'avoir l'éditeur de texte d'un côté et la console de l'autre, on utilise un environnement tout en un.
