FLASH INFORMATIQUE FI



Juin, un mois de Java




Jean-Philippe FORESTIER


Pendant tout le mois de juin 2005, le DIT vous offre la possibilité de vous former aux différents aspects du langage Java par des modules de 1 à 3 jours.

10 ans déjà

Eh oui, 10 ans déjà que j’utilise et apprends aux autres développeurs à utiliser ce si sympathique langage de programmation. Bon d’accord je lui fais parfois quelques infidélités, et utilise aussi les technologies concurrentes (PHP, .Net, C++,...), mais cela me permet de me rendre compte que Java est quand même vraiment, un beau, un très beau langage. Mais oui, mais oui, on peut juger de l’esthétique d’un langage, regardez plutôt un programme PERL ou C et regardez ensuite un programme Java, c’est frappant ... le code Java est plus lisible, plus compréhensible (donc plus facilement maintenable), plus aéré et pourtant le programme est souvent plus concis !
10 ans aussi de Java dans le Flash informatique puisque Claude Lecommandeur écrivait un article : HOTJAVA dans le FI 8/95, http://dit.epfl.ch/publications/FI95/fi-8-95/8-95-page1.html.

Le pour et le contre

J’entends d’ici les mauvaises langues me dire :
D’accord, d’accord, si tu veux, c’est un beau langage, mais c’est lent !.
Java traîne derrière lui, depuis sa naissance, ce grief, et pourtant, si ce reproche était mérité les toutes premières années de son existence, on ne peut plus s’en plaindre aujourd’hui. Les programmes Java sont rapides, bon, allez, peut-être un peu moins rapides qu’un programme C (un des langages réputés les plus rapides avec Fortran) mais la différence de performance est de 5 à 10 %, pas plus. Et puis Java permet de s’affranchir du système, les programmes que vous écrivez sur votre PC portable acheté il y 6 mois avec Windows XP déjà installé (je sais vous auriez préféré un portable avec Linux, mais vous n’avez jamais pris le temps de refaire l’installation du système...), eh bien, ce programme réalisé sur le système MicroSoft pourra sans en toucher une ligne, sans même le recompiler, tourner sur Linux, Solaris ou MacOS par exemple (même s’il utilise une interface graphique, un SGBD, un fichier, le réseau, ...).
Oui d’accord, mais mon langage X ou mon langage Y est mieux que Java pour faire ceci ou pour faire cela.
Peut-être, mais qui a dit que Java était LE langage qui devait remplacer tous les autres ? Pas moi en tout cas. C’est un langage plein de qualités, mais qui a dû faire des compromis, des choix, pour satisfaire le plus grand nombre, alors oui pour écrire un device driver pour Linux il vaut mieux utiliser le C, pour faire un programme de calcul scientifique, c’est peut-être encore Fortan la solution idéale, pour parser des fichiers de texte, rien ne vaut PERL, ... mais dans l’ensemble, croyez-moi, Java se débrouille très bien dans plein de domaines.
Justement, est-ce que Java n’est pas surtout utilisé pour l’enseignement de l’informatique et dans le domaine de la recherche ?
ou encore
Ah bon, moi je croyais que c’était surtout dans les développements Web qu’on utilisait Java ?
Quoi ?
Mais Java est surtout utilisé avec les SGBD, regardez maintenant dans Oracle, presque tout est écrit en Java...
Eh bien oui Java est utilisé pour enseigner l’informatique, dans le milieu de la recherche, pour la programmation Web, pour et dans les SGBD, mais aussi pour développer des Services Web, pour la programmation réseau, la manipulation des documents XML, pour des applications industrielles, pour des applications de gestion, pour réaliser des applications pour les téléphones mobiles, dans les centraux téléphoniques, les cartes à puce,... presque partout donc.
Pour permettre le développement d’une aussi large gamme d’applications, le langage Java ou plutôt l’environnement Java (le langage, l’environnement d’exécution, les librairies, les outils de développement et de mise au point, ...) a été, dès 1999, divisé en trois environnements distincts :

  • La J2ME (Java 2 Micro Edition) avec pour cible le développement d’applications pour téléphones mobiles et PDA, la version actuelle est J2ME 2.2, elle date de début 2004.
  • La J2SE (Java 2 Standard Edition) avec pour cible le développement d’applications clientes, utilisant graphisme, accès au réseau, fichiers, SGBD, ... La version actuelle est J2SE 5.0, elle date de fin 2004
  • La J2EE (Java 2 Enterprise Edition) avec pour cible le développement de composants logiciels et plus généralement d’applications côté serveur. La version actuelle est J2EE 1.4, elle date de fin 2003.

Chaque environnement a ses propres librairies (des milliers de briques logicielles à disposition des programmeurs), ses propres outils, parfois son propre environnement d’exécution, mais tous s’appuient sur un même langage : Java. Les puristes me diront qu’il faut rajouter à ces trois environnements JavaCard (pour le développement d’applications pour cartes à puces) et Jini pour le développement d’applications pour des matériels tels qu’appareils photos, scanners, imprimantes ou même machines à laver ou micro-ondes.
Voilà pourquoi Java est utilisé presque partout.
Aujourd’hui un projet informatique sur trois est réalisé en Java. Il y a plus de 4 millions de programmeurs Java (contre 3 millions de programmeurs C et C++ ou 2.5 millions de programmeurs VB). Plusieurs milliers de livres différents ont été diffusés sur le sujet...
Oui, mais tout le monde se plaint de l’hégémonie de MicroSoft, et Java est bien un langage propriété de la société SUN MicroSystems, non ?
Oui, c’est vrai, mais SUN n’est pas la seule société à gérer les évolutions de Java et de toutes les librairies et technologies associées. De très nombreuses sociétés, parmi les plus prestigieuses, président à la destinée de Java, il est impossible de les citer toutes, mais parmi les plus actives on trouve IBM, Oracle, Siemens, Nokia, SAP, Motorola... que du beau monde (il ne manque que Bill ??).
En fait, chaque évolution du langage ou d’une librairie associée au langage (les JSR Java Specification Request) suit un processus de validation bien précis contrôlé par différentes sociétés (le JCP Java Community Process). Regardez donc ce site pour vous en convaincre : http://www.jcp.org.

Juin et Java

Parlons un peu de ce mois de juin 2005 qui devient mois du Java. Le but du DIT est de proposer, au travers de diverses formations, un tour d’horizon des principales possibilités du langage. Cela tombe à point nommé maintenant que vous venez de lire cet article et êtes donc, j’en suis sûr, convaincu que Java est le bon choix pour votre projet, non ? Il y aura donc :

  • un cours d’introduction de 3 jours, qui présentera la syntaxe du langage Java (dernière version, la 5) ;
  • un cours de 2 jours pour présenter quelques-unes des librairies (il en existe plusieurs milliers !) utilisées le plus fréquemment dans les programmes Java ;
  • un cours d’une journée tournée vers l’utilisation des SGBD relationnels comme MySQL ou Oracle depuis Java ;
  • un cours de 3 jours sur la réalisation d’interfaces graphiques : pour faire de belles interfaces graphiques riches, attrayantes et... portables ;
  • un cours de 2 jours sur la version J2ME de Java : pour ceux qui veulent égayer leurs natels compatibles Java (ils le sont presque tous aujourd’hui) ;
  • un cours de 2 jours sur la réalisation d’applications Web avec J2EE : vous apprendrez à faire des pages Web dynamiques avec Java ;
  • un cours de 3 jours sur la réalisation de composants logiciels métiers (les EJB) avec J2EE : pour les grosses applications destinées à tourner sur des serveurs ;
  • un cours de 2 jours sur la programmation réseau : pour apprendre à faire communiquer des programmes (pas forcément écrits en Java) entre eux, en passant par le réseau.
    Et voilà, pour en savoir plus, consulter le site du DIT : http://cours-dit.epfl.ch/ ou la page des cours.

Bien sûr, ce n’est pas une vue exhaustive des possibilités du langage, mais en participant à ces cours vous pourrez, j’en suis sûr, réaliser de bien belles applications, et vous deviendrez, comme moi, un fan de ce langage.
Alors, j’espère que vous viendrez nombreux et je vous dis à bientôt.



Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.