• [^] # Re: promouvoir Java plutot que C#

    Posté par . En réponse à la dépêche Mono 0.24. Évalué à 1.

    En est-il pour autant le meilleur des langages de programmation ?

    Le meilleur dans l'absolu, non. Mais une option viable, oui. Le problème n'est pas seulement dans la qualité intrinsèque d'un langage (si tant est qu'un critère soit réellement mesurable, il y a une grande part de subjectif dans ce jugement). Pour reprendre une phrase que j'avais lu sur fr.comp.lang.c++ (justement dans un débat opposant C++ à Eiffel, si je me souviens bien): "il y a 2 types de langages, ceux que tout le monde trouve géniaux, bien designés, etc... et ceux qu'on utilise".

    J'ai une théorie analogue : les langages sont comme les maisons. Si luxueuse et bien pensé que soit l'architecture, il faut toujours des chiottes, sinon tu ne peux pas vivre dedans. Et si tu n'en as pas, tu ira faire ta merde dans le salon et ça sera encore pire.

    Autrement dit, les langages très propres comme Eiffel ou Ada ne se généraliseront jamais parce qu'ils ne collent pas au cas le plus courant du développement, et dans le cas le plus courant, on essaie de faire des trucs propres le plus souvent, mais de temps en temps on est obligé de faire de la merde, parce que c'est la vie.

    Ada, Eiffel, ça marche pour des programmes militaires ou financiers spécifiés de A à Z, mais pour des applis "normales" ou le client ne sait pas vraiment bien ce qu'il veut, où tu dois inter-opérer avec du code existant, où tu es pressé, où tu dois être sur de pouvoir facilement trouver des gens ayant les compétences pour maintenir le code, où tu veux des libs pour des fonctions complexes (genre formattage de graphes, optimisation, toolkit graphique complète, etc...), bref, faire des trucs crades, c'est une autre histoire.

    Donc je suis tout à fait d'accord que Lionel puisse faire son système de com tactiques en Ada. Si il devait faire un browser web ou un traitement de texte, il en chierait 10 fois plus qu'en C++/Qt, et 20 fois plus qu'en Java, parce qu'il lui manquerait 90% des briques nécéssaires, et le typage sophistiqué d'Ada ou la distribution transparente de l'appli ne lui seraient d'aucun secours. Parce que les demandes ne seraient pas "j'ai besoin d'un truc en temps réel", mais "je voudrais pouvoir changer la taille des fonts avec la molette de ma souris", ou "la progress-bar elle s'affiche pas bien", ou "finalement cette fenêtre là je la voudrais ici, et puis celle-ci là".

    Regarde les screenshots de l'IDE Ada d'ACT : c'est laid à pleurer. Du GTK+ mal foutu, des fontes moches, des widgets mal taillés. Compare avec ceux d'IntelliJ Idea. Lequel des deux as-tu envie de voir tous les jours ? Et si tu dis "oui mais il suffit de fignoler un peu le GTK+ et ça sera aussi joli". C'est précisément ce fignolage qui prend 80% du temps de dev d'une appli comme celle-là (et ce qui passe le plus souvent à la trappe, surtout dans l'Open Source), et qui fait la différence entre une "preuve de concept" et une appli finie.

    Déjà qu'il n'y ait pas de toolkit graphique native en Ada ou Eiffel est le constant d'échec le plus définitif qui soit.