Les problèmes de packaging de manière générale sont assez indépendants du langage, ils vont se manifester à différents moments (compilation sur le serveur du packager, installation, compilation sur la machine cible, exécution, ou jamais), ça ne veut pas dire grand chose.
Il y a très peu de langages qui gèrent les dépendances; le paradigme pour un langage de programmation c'est que l'environnement n'est pas son problème. Citer C ou C++ comme bon élève est absurde, vu que la notion même de package / library est absente du langage; la seule manière de ne pas embarquer la totalité des dépendances en copier-coller dans un seul fichier est d'utiliser un préprocesseur et un système de build. Ton exemple, ça n'est pas si différent d'un truc en bash qui appelle une commande qui n'est pas dans le PATH, ça n'est pas de la faute de bash.
Le packaging, c'est un problème profond pour lequel il ne semble exister aucune solution satisfaisante. La meilleure est celle des distributions classiques, mais elle nécessite une énorme quantité de travail et de maintenance pour que toutes les briques logicielles soient compatibles les unes avec les autres à tout moment; elles nécessitent aussi un circuit de distribution déconnecté du développeur de l'application, avec toutes les complexités que ça induit. Tout ça reste un problème logiciel, et un échec technologique majeur d'ailleurs à mon avis, mais blâmer un langage pour un logiciel mal packagé c'est vraiment se tromper de cible.
[^] # Re: Sinon chez moi ça marche
Posté par arnaudus . En réponse au journal SVP arrêtez d'utiliser Python pour vos logiciels en GUI.. Évalué à 9.
Les problèmes de packaging de manière générale sont assez indépendants du langage, ils vont se manifester à différents moments (compilation sur le serveur du packager, installation, compilation sur la machine cible, exécution, ou jamais), ça ne veut pas dire grand chose.
Il y a très peu de langages qui gèrent les dépendances; le paradigme pour un langage de programmation c'est que l'environnement n'est pas son problème. Citer C ou C++ comme bon élève est absurde, vu que la notion même de package / library est absente du langage; la seule manière de ne pas embarquer la totalité des dépendances en copier-coller dans un seul fichier est d'utiliser un préprocesseur et un système de build. Ton exemple, ça n'est pas si différent d'un truc en bash qui appelle une commande qui n'est pas dans le PATH, ça n'est pas de la faute de bash.
Le packaging, c'est un problème profond pour lequel il ne semble exister aucune solution satisfaisante. La meilleure est celle des distributions classiques, mais elle nécessite une énorme quantité de travail et de maintenance pour que toutes les briques logicielles soient compatibles les unes avec les autres à tout moment; elles nécessitent aussi un circuit de distribution déconnecté du développeur de l'application, avec toutes les complexités que ça induit. Tout ça reste un problème logiciel, et un échec technologique majeur d'ailleurs à mon avis, mais blâmer un langage pour un logiciel mal packagé c'est vraiment se tromper de cible.