Cours 1 : Intro et bases du langage
Viviane Pons
Master BIBS Université Paris-Saclay
Quoi, comment, pourquoi
C’est un paradigme de programmation c’est à dire une façon d’approcher la programmation informatique et la résolution de problèmes
Exemples d’autres paradigme : programmation impérative (C, Pascal, Basic, …) , programmation fonctionnelle (Lisp, Haskell, OCaml, …)
Vers la fin des années 60, sur les travaux d’Alan Kay et avec l’apparition du langage Smalltalk rendu public en 1980
3 des créateurs-trices du langage Smalltalk : Alan Kay, Dan Ingalls et Adele Goldberg
Alan Kay receiving the Kyoto Prize by Ryan Johnson under CC-BY-SA-4.0 – Dan Ingalls under CC-BY-SA-3.0 – Adele Goldberg at PyCon 2007 by Terry Hancock under CC-BY-SA-2.5
Problème : manipuler des nombres rationnels
?? add_rat(int n1, int d1, int n2, int d2) {
int n = n1 * d2 + n2 * d1
int d = d1 * d2
return ??
}
Quel type de valeur renvoyer ? Comment s’assurer de la cohérence du programme ? Où faire la simplification ?
Première idée : utilisée un type structuré.
rat add_rat(rat r1, rat r2) {
rat r;
r.n = r1.n * r2.d + r2.n * r1.d
r.d = r1.d * r2.d;
return r;
}
Mais ça ne résout pas tous les problèmes !
Smalltalk (1980), Common List (1984), C++ (1985), Object Pascal (1986), Python (1991), PHP (1994), Java (1995), JavaScript (1996), C# (2001), …
Rappel : un processeur ne sait exécuter que des fichiers binaires qui correspondent à des instructions machines
Comment passer d’un programme à des instructions machines ?
Et Java alors ?
Étape 1 : code écrit dans un fichier mycode.java
Étape 2 : code compilé par javac
javac mycode.java
Le compilateur produit un fichier mycode.class
en Byte code (spécifique à Java). Ce n’est pas un exécutable
Étape 3 : Byte code interprété par la machine Java
java mycode
.class
similaires d’une plateforme à l’autreIl faut JRE = “Java Runtime Environnement”: contient la machine Java (JVM) et l’API Java de base que nous verrons plus en détail
Il faut JDK = Java Development Kit : contient compilateur javac
, javadoc, JRE, …
Integrated Development Environment
On utilisera IntelliJ
Autres possibilités : Eclipse, Netbeans
Démo
Pour lancer InteliJ : tapez la commande
idea.sh
dans un terminal
Quelle Syntaxe ? … Comme le C
Principes de base :
Pour le reste… Apprenons par l’exemple, faisons le TP !