Assembleur : l'indispensable, la transformation binaire d'un programme en assembleur est compréhensible par le processeur. L'assembleur dépend de la machine utilisée (= un assembleur par type de processeur). Programmer en assembleur est très compliqué, il faut absolument savoir comment marche l'ordinateur.
Le C : Vieux langage qui au niveau de sa syntaxe en a inspiré plein (java, C++, JavaScript,...). Le C est considéré parfois comme un langage de bas niveau (il faut comprendre et gérer en partie la mémoire de l'ordinateur). Le langage C est compilé, un programme spécial (le compilateur) va prendre le code écrit en C et le transformer en assembleur. Le C est très simple (dans le sens où il n'y a pas grand chose à apprendre) et est généralement le langage qui donne les programmes les plus rapides et moins gourmand en mémoire mais au prix d'un temps de programmation long (=cout plus élevé). Actuellement il est utilisé quand les performances sont prioritaires ou quand il y a peu de ressources. le noyau de Linux est en C.
Le C++ (comprendre C augmenté) est un langage compilé, on peut voir le C++ comme du C ajouté de fonctionnalités modernes. Le C++ est un langage compliqué à apprendre car il offre plein de possibilités et en plus il nécessite aussi de comprendre comment marche l'ordinateur. Le C++ est un langage à utiliser si on veut de la performance (jeux vidéos...).
Ocaml : Un langage fonctionnel, dans ce langage on ne peut changer la valeur d'une variable. Il est étudié en prépa.
Javascript : Langage pour les pages web.
Java, C#, Pascal,...
Tous ses langages permettent de faire les mêmes choses, mais plus ou moins facilement, rapidement et avec plus ou moins de ressources. Il existe aussi différentes façons de programmer (on dit paradigmes) et des langages sont plus adaptés que d'autres à cette facon.
Terminons sur Python, langage créer par Guido van Rossum. Contrairement a des langages comme le C,C++,.. qui sont des langages compilés (pour rappel : le code doit être transformé en assemebleur avant d'être lancé), Python (comme Java, Javascript,..) est interprété : pour simplifier un peu l'idée Python à besoin d'un programme (appelé l'interpréteur) qui transforme à chaque utilisation les instructions Python en assembleur au moment de l'execution du script (et pas avant et une fois pour toute comme pour un compilateur). L’avantage est d'avoir du code portable (qui va marcher sur de nombreux systèmes) du moment que l'interpréteur est installé sur une machine votre script va marcher. Python est un langage de haut niveau et permet de faire très rapidement des petits programmes. Le Python est imposé par le programme.
Edupython ou Spyder.
La partie 1 est l'éditeur, ici vous tapez le programme comme dans un éditeur de texte, des facilités sont proposées comme la coloration automatique. Il faut bien comprendre que l'éditeur de texte n'a pas d'importance pour l’interpréteur.
La partie 2 est la console, ici vos lignes seront interprétées, vous pouvez l'utiliser comme une calculatrice.
La partie 3 va servir à débugger un programme et à avoir de l'aide sur les fonctions.
La bouton 4 permet d'interpréter le code dans l'éditeur. Si vous modifiez votre code il faut appuyer sur le bouton sous peine de ne voir aucun changement.
Affectation
En Python on peut stocker des valeurs dans des variables, le signe d'affection en Python (comme dans de nombreux langages) est =. Il faut bien comprendre la différence entre le = mathématique et le = en programmation, par exemple a = 2*a + 1 en mathématiques veut dire que a vaut -1 alors qu'en informatique l'instruction à un sens que si la variable a une valeur au départ (par exemple 2 mais tous les autres nombres sont possibles), Python évalue la partie de droite (2*a + 1) qui donne donc 5, ensuite le résultat est stocké dans la variable a. Au début la variable a contient 2 et à la fin 5.
Les variables ont un type, le type détermine la place mémoire réservée dans la mémoire de l'ordinateur ainsi que les opérations autorisées sur les variables. En Python le typage est dynamique et souvent on ne s'en soucie pas (parfois à tord), dans certains langages (C, C++, Java ...) le codeur doit préciser explicitement le type de la variable qu'il utilise. Enfin certain langage font une utilisation très rigoureuse du type (en Ocaml 2 + 1.5 entraine une erreur par exemple).
Opérateur de base.
Les opérateurs de bases sont :
+ : addition.
- : soustraction.
* : multiplication.
/ : division (comme sur une calculatrice).
** : exposant.
// : division entière (7//2 = 3).
% : Reste de la division entière (7%2 = 1).
Print.
Si vous lancez une instruction à partir de la console (par exemple 1+2) vous avez le résultat qui s'affiche (3), cependant si vous tappez l'instruction dans l'éditeur et interprétez ensuite le résultat rien n'est affiché. Pour combler à ca il existe l'instruction print qui va afficher ce qui est demandé sur la console.
Input.
L'instruction input permet de demander une valeur avec l'utilisateur, le résultat est toujours une chaîne de caracères et il faut convertir le résultat dans le type de son choix après.