Java m'aime pas !

Oui il faut croire que je suis malheureux avec java. Depuis mes débuts de développeur j'ai connu l'existence de Java malgré que celui-ci m'ai jamais attiré (j'aime pas Java), je me suis bien fait une raison comme quoi Java était tellement répandu qu'il faudrait bien que je m'y mette un jour.

Que pensez de Java quand votre machine virtuelle souhaite se mettre à jour, télécharge la-dite mise à jour puis elle vous inflige un magnifique « runtime error ! » (Pas pire que Dreamweaver avec son alerte : « Il n'y a pas d'erreur » (un jour je vous ferai une capture d'écran c'est risible)).

Comme on dit ceci peut arriver à tout le monde mais moins d'un quart d'heure plus tard alors que je me décide à utiliser QuantumDB sur Eclipse, au moment de se connecter à mon serveur MySql, un nouveau message ... « jdbc.com.mysql.driver.chose.truc introuvable ». Heureusement j'appelle mon ami Google et un petit tutoriel plus loin viens à mon aide et me renseigne sur l'histoire. Il faut donc télécharger un driver MySql sur le site de MySql bien sur ça paraissait tellement évident dans le message d'erreur... Chose faîte je retente de me connecter : « Error quelque chose caractère 48 non supporté ... blablabla ». Vous savez quand la sauce elle commence à montée .... Bon peu importe. Je me décide à essayer du coup la nouvelle version gratuite de Sqldeveloper offert généreusement par Oracle. Paramétrage etc... connexion ... jdbc.com.mysql.driver.chose.truc introuvable. La sauce ici présent tourne au vinaigre moutarde choux de brucelles.

Pour cette première conclusion je dirai que Java c'est bien, ça permet de faire des milliers de choses différentes avec le même outils mais que ce n'est pas forcément stable. Il faut quasiment être développeur Java pour pouvoir utiliser correctement un logiciel écrit en java parfois. Bien entendu je parle en tant que non développeur Java et cette parole est donc peut être un peu dure envers ce langage.

J'en veux même pas !

Oui je n'en veux pas de Java. Je trouve que Java qui à la base devrai se révélé être un outils formidable autant pour les développeur que pour les utilisateurs de part sa portabilité. On peut trouvé à Java tout de même de nombreux défaut.

Le premier va de soit quand on utilise des programme écrit en Java c'est sa relative lenteur. Ce manque de performance est pour moi quelques choses de vraiment prohibitif. Peut-être devrais-je plutôt accuser les développeurs plutôt que Java lui-même dans cette histoire puisque l'on trouve parfois des logiciel performant et rapide alors ma question est la suivante : « Java offre t-il au développeur les moyens d'écrire un programme performant facilement ? ». Personnellement je ne le pense pas.

Java ne vous aide pas. Des erreurs à la Microsoft totalement incompréhensible et qui semble être difficile à dompter, un environnement empli de dépendance qui fait qu'une classe en inclus une autre etc ... c'est beau la segmentation du code mais quand il faut inclure 4 Mo de packages pour se connecter à un compte POP (j'exagère) ça entraîne forcément des oublis de fichier. Je reprends mon exemple plus haut comme transition. Qui d'un utilisateur basique, même qualifié souhaitant utiliser un logiciel ferai la liaison entre un jdbc.com.dom.xxx.yyyy et un fichier à télécharger sur un site et comment se fait-il que ce fichier ne soit pas présent ? Comment peut-t-on compiler une application en ometant un driver ? Est-ce volontaire ? Dans ce cas pourquoi l'erreur n'est elle pas gérée correctement ?

Si vous êtes développeur Java il vous parait peut être évident de comprendre ce qu'est Java et son environnement. Pour monsieur tout le monde il en est autre chose. On entends parler de J2RE, J2SE, J2EE, JAVA, JSE, JRE, JVM, machine virtuelle... qui que quoi ? C'est quoi tout ça ? Personnellement je comprends pourquoi ça plante si souvent, pourquoi c'est lent et pourquoi les développeurs eux-même peuvent faire de tels oubli. C'est embrouillant avouez.

Bref il reste que de toute ces annotations, bien commune dans le monde des développeurs, une machine virtuelle qui se veut être universelle se veut aussi être perdue dans tous ces termes technique qui ne devraient faire partie que du langage des développeurs et non pas de celui des utilisateurs communs. Un utilisateur qui souhaite télécharger Java sur sont poste devrai télécharger Java et non pas quelque chose appeler JRE.

Maintenant que Java est passé dans le monde du libre. De nouveau code vont arriver d'un peu partout sûrement et vont encore accroître cette énorme banque de donnée de codes et je fait un lien discret avec beaucoup d'autre communauté qui ont énormément de mal à organiser et à contrôler l'évolution de leur projet. Que va devenir Java dans les prochains temps alors que des concurrents sérieux comme PHP, Ruby, Python et d'autre sont là prêt à prendre une bonne place à Java. Surtout que l'on peut trouver des problème similaires dans ces derniers langages à moindre échelle pour l'instant.

Voici mon point de vu à propos de Java aujourd'hui. Java est un trousse à outils de secours majoritairement servant au développeur qui ne sait pas quel langage serait le plus efficace sur un thème précis et se retourne sur Java sachant pertinemment que ce n'est pas la meilleures solution mais que ça devrait marcher. Java vie aujourd'hui grâce au SII et entreprises notamment qui utilise cette technologie depuis bien longtemps quand à leur début d'autres technologies n'existaient pas et n'étaient pas là pour se substitué à Java et qu'il est moins onéreux de maintenir un ensemble existant tant qu'il peut évoluer plutôt que de migrer vers une nouvelle plate-forme de meilleure qualité.

Est ce qu'aujourd'hui il est de bon ton d'apprendre Java ou vaut mieux apprendre plusieurs autres langages peut être moins complet mais plus facile à cerner ? C'est bien une question à laquelle je n'est pas de réponse.