Programmation Java F. HAMOUDA 1 Particularités du langage • • • • • orienté objet : hiérarchie de classes, exceptions typage statique et fort, templates (1.5) multi-threads : exécution parallèle de tâches simplicité. . . par rapport à C++ ! très nombreuses classes fournies 2 Environnements développement • • • • • • organisation en projets. . .un répertoire ! éditeur de texte : couleur, indentation, navigation, complétion accès à la documentation du langage construction (compilateur), outils make ou ant lancement (env. d’exécution, librairies) débogueur interactif, visuel. . 3 mais aussi. . . • • • • • • • • contrôle de versions, de releases documentation du code navigation dans le code analyse de performance (profiling) déboguage mémoire (purify) intégration de tests systématiques (junit) aide systématique (langage, librairies, environnement) générateur d’interfaces graphiques GUI 4 En amont gestion de projet, travail collaboratifs tâches, coopération, verrous. . . • spécification souvent mauvais dataflow, UML, Entité-Relation charts. . . • documentation utilisateur A côté • librairies additionnelles : graphique, drivers. . . • outils spécialisés : lex/yacc (analyse lexical et syntaxique) CORBA (application distribuée) 5 Environnements JAVA. . . • • • • • • • • • • JDK Sun JDK Java Development Toolkit eclipse logiciel libre soutenu par IBM NetBeans logiciel libre soutenu par Sun Java Workshop SunSoft J++ Microsoft J++ JBuilder Borland (Inprise) JBuilder Visual Café Symantec WingEditor Wingsoft WingEditor FreeBuilder logiciel libreGnu. . . autres BlueJ, JCreator, DrJava. . . 6 Approche de cette présentation de java • • • • notions reliées les unes aux autres. . . beaucoup d’exemples description informelle puis un petit peu plus formelle un langage s’apprend par la pratique 7