• [^] # Re: Intérêt

    Posté par . En réponse à la dépêche Sortie d'une première version stable de Go. Évalué à 2.

    C'est un problème de distrib. L'effort de packaging n'a jamais abouti pour Java. Retire le boulot des distribs en python et t'as le même problème.

    Toutes les distribs se foirent pour bien intégrer Java. Deux hypothèses :

    1. Toutes les distribs sont incompétentes
    2. Java est, de par son design, bien plus complexe (pour ne pas dire impossible) à intégrer correctement.

    Étrangement, j’ai tendance à pencher pour (2)

    Retire le boulot des distribs en python et t'as le même problème.

    Je crois que tu ne comprends pas la différence entre le PYTHONPATH et le classpath (ou alors j’ai loupé un truc énorme).

    En Python, je configure un PYTHONPATH, une bonne fois pour toutes, pour tous mes projets et toutes mes dépendances. C’est à dire que c’est une seule fois lors de l’installation du système.

    En Java, je dois tripatouiller mon classpath à chaque dépendance de chaque projet.

    C’est pour ça que l’écosystème Java est si difficile à bien packager, et qu’il nécessite des outils complexes pour gérer les dépendances.

    Si tu te poses ces questions là. Files apprendre Java avant de vouloir utiliser hibernate.

    Mais je pense connaître assez Java pour avoir une réponse, qui est : « soit tu gères ton classpath à la main pour chaque projet (ce qui, on en convient tous, est un peu ridicule), soit tu utilises un outil genre maven. Tu n’as pas d’équivalent du PYTHONPATH ». Si je pose la question, c’est parce que j’espère me tromper, parce que cette approche ne me convient pas du tout. Maintenant, tu sembles confirmer que ma réponse semble la bonne ici :

    Si tu as 3 notions de Java tu sais que tout ce que tu as besoin c'est des .class dans ton classpath.

    (sinon, je crois que je vais m’arrêter là : ça dégénère en troll, et j’aime pas les trolls, quand j’expose mes points de vue c’est pour avoir des réponses du genre celles de CrEv ou rom1dep, c’est à dire ce qui se fait, pas ce qu’il est théoriquement possible de faire. Oui, je me doute que je peux théoriquement éviter maven et gérer mes deps et mon classpath à la main, mais ce qui m’intéresse moi, c’est est-il possible, et comment, l’éviter en pratique)