• [^] # Re: Java c'est bien !

    Posté par . En réponse au journal Java c'est bien !. Évalué à 1.

    En Java (<= 1.4) ou en Ada, c est la syntaxe qui l'impose. C'est justement là ou je veux en venir. J'ai d'autres choix à fouetter (algorithmique, architecture, tuning, délais, etc ,) que de choisir parmi un ensemble de syntaxe (qui font là même chose !!! ) la plus expressive , "la meilleure" pour parcourir un tableau.

    La syntaxe est aussi triviale à choisir qu'à lire. Les difficultés, comme tu le dis, sont ailleurs. Ce n'est vraiment pas un problème de pouvoir énoncer les choses clairement quand on le souhaite.

    En java (<= 1.4) ta boucle for aura cette tête là. Note la présence de la variable d'index qui n'est pas sous-entendu comme en perl. "Ce qui ce conçoit bien, s'enonce clairement".

    Les choses inutiles n'ont justement pas à être énoncées. Ca rend le code moins clair.

    Le passage que tu donnes en exemple est infect, et je regrette bien de devoir souvent passer par ce genre de choses en C++. (for_each & compagnie aident bien quand même).

    Le perl a développé tout un tas de mécanismes "pratiques" pour faire des raccourcis dans les scripts qui enlèvent à la clarté du code (ascii art)

    Non c'est là pour la clarté. Evidemment ça ne parait pas clair à quelqu'un qui ne connait rien au langage : moi non plus le chinois (auquel je ne connais rien) ne me parait pas clair.

    maintenant je n ai pas dis que ce n'est pas bien, je dit simplement que c'est moins clair !

    C'est à la fois bien et plus clair. C'est un peu le but de la manoeuvre, on n'ajoute pas des choses dans un langage juste pour faire un peu de code à l'allure exotiques. C'est une véritable insulte aux concepteurs de ce langage. Java fait le choix de la simplicité de la syntaxe, et non de sa clarté. Un autre exemple : la surcharge des opérateurs, impossible en Java. Ne pas en avoir est plus simple, mais l'avoir et l'utiliser correctement est plus clair.

    Un mec qui bien connait le perl développera super vite, au détriment de la portabilité, de la maintenance et de l'evolutivité.

    C'est supposer que les gens chargés de la portabilité/maintenance sont des incompétents. Le développement se fait vite non pas parce qu'on gagne quelques caractères, mais parce que le code ne contient que des choses utiles. C'est pour ça que la maintenance est aussi plus simple, pourvu que l'on soit compétent, mais c'est une condition évidente et nécessaire pour tous les langages, y compris Java.

    Je reprends donc. Un langage dont la syntaxe permet d'ecrire du code illisible qui est validé par l'interpréteur, n'est pas un langage avec une syntaxe claire, donc ce n'est pas un langage que je qualifierai de clair.

    C'est alors ta notion de lisibilité qui est mauvaise. La lisibilité c'est la clarté d'un code pour quelqu'un de compétent, et non la clarté que tu supposes, toi, en étant peu (ou pas assez) compétent sur ce langage.