Mais tous les programmes sont portables si on les recompile, moyennant quelques ajustements : il y en a des tas qui existent en version Windows, MacOS, Linux. Il suffit que l'éditeur ou le créateur le veuille bien, ce qui n'est pas toujours le cas.
Rien ne sert de penser, il faut réfléchir avant - Pierre Dac
Non, je livre aussi des programmes avec la JRE embarquée ce qui marche très bien.
Si c'est pour démontrer qu'il n'y a pas de format de binaire ou de script qui marche sur toutes les machines "out of the box", on le sait.
Sauf qu'il n'y a pas besoin de recourir à la volonté des propriétaires d'OS qui ne souhaitent pas la portabilité des programmes pour ça : c'est juste la diversité des solutions qui rend toute approche 100% universelle peu faisable coté client lourd.
Mais vu que :
- il existe énorméments d'outils de développements dispo sur la plupart des plateformes (langages, IDE, frameworks, middlewares, bases de données...)
- il est très facile pour un éditeur ou même un particulier d'avoir un programme qui tourne partout avec un surcoût quasi nul comparé au coût du développement
tu essaies de nous démontrer un "complot des propriétaires d'OS" qui n'existe pas en réalité.
Cela a été beaucoup plus vrai autrefois et tourner à la fois sur MVS, VMS, OS/400 et Unix était très compliqué et économiquement peu réaliste.
Alors qu'aujourd'hui, quelqu'un peut écrire un programme en Java qu'il va faire tourner en map/reduce sur un cloud hétérogène de machines dans n version d'OS sans avoir aucune adaptation spécifique dans le code.
Et la tendance est de faire de plus en plus de choses en HTML5/JavaScript + serveur dans le dit Cloud, là aussi avec indépendance forte de l'OS. Et là, on tourne sur toutes les OS courants sans aucune installation : curieusement, tous les "propriétaires d'OS" fournissent en standard un navigateur qui nous permet d'utiliser Gmail par exemple.
Si on laisse de coté l'aspect client (lourd ou léger) il y a quand même toute une partie des soft qui est largement (enfin totalement) impossible à porter, c'est tout le code embarqué dans les bases de données.
Aujourd'hui, en 2015, un portage (dans n'importe quel sens) entre MySql, Sql Server, Oracle et PostGreSql (pour prendre les principaux SGBD-R du marché) est totalement impossible sans de très lourdes interventions manuelles. (résultat on contourne le problème avec les ORM, malgré leur impact désastreux en terme de performances, ce qui revient à transformer le SGBD en simple système de persistance).
Je suis très étonné que personne n'ait évoqué cet aspect pourtant essentiel.
Tu les vois livrer une machine non compatible internet ?
La question initiale repose sur l'universalité des programmes. Le Français est pour moi une langue précise. Dans universalité, je sous-entendais "portable" sans aucune modification. Selon plusieurs d'entre vous, ce mot aurait un sens assez différent et je l'ignorais ; pauvre de moi !
quant à ma volonté de voir un complot chez les propriétaires d'OS, c'est tout aussi ridicule ; ou alors il est généralisé à l'ensemble de l'économie mondiale car je ne connais pas d'entreprise qui commercialise un produit susceptible d'accroitre ou d'élargir les performances d'un produit de la concurrence.
Pour revenir à la portabilité, il n'y a pas que la diversité des systèmes qui pose problème. Il y aussi l'incompatibilité ascendante dans une famille d'OS.
Je postais ici ma dernière contribution à ce fil car la discussion est en train de s'envenimer.
Je suis Linuxien et je haie PITHON! Je trouve ce machin aussi hard et repoussant que le C.
Bon ceci est tout a fait personnel et n'engage que moi.!!!
Donc on va dire que l'on peut envisager de créer un logiciel qui sera portable sous tout les systèmes libre et qu'on ne pourra le faire tourner que difficilement sous un système propriétaire.
Merci encore de vos réponses.
Bonjour,
Ben si tu le dis. J'ai pratiqué les 2, ainsi que le C++, et je trouve que Python est beaucoup plus facile a utiliser, et comporte beaucoup de fonctions intégrées dans le langage alors qu'en C ou C++, pour les mêmes fonctions, il faut des bibliothèques additionnelles souvent pas compatibles entre elles. Quelques exemples : la gestion de la mémoire avec ramasse-miettes, les classes contener avec les itérateurs, etc.
Ben non, cette phrase est fausse, ou vraie selon les langages. Nous t'avons cité 3 langages pour lesquels les logiciels vont marcher sans aucune modification du source sur les 3 types de plateformes (Windows, Linux et Mac OS) : Java, Python et html.
A plus.
Ce discours méprisant est apprécié à sa juste valeur. Surtout que nous avons aussi employé "portable" dans ce sens.La question initiale repose sur l'universalité des programmes. Le Français est pour moi une langue précise. Dans universalité, je sous-entendais "portable" sans aucune modification. Selon plusieurs d'entre vous, ce mot aurait un sens assez différent et je l'ignorais ; pauvre de moi !
Tous les programmes n'utilisent pas de base de donnée, il est parfaitement possible de faire un programme qui nécessite une base uniquement, stratégie largement utilisée par les éditeurs, etc.Si on laisse de coté l'aspect client (lourd ou léger) il y a quand même toute une partie des soft qui est largement (enfin totalement) impossible à porter, c'est tout le code embarqué dans les bases de données.
Aujourd'hui, en 2015, un portage (dans n'importe quel sens) entre MySql, Sql Server, Oracle et PostGreSql (pour prendre les principaux SGBD-R du marché) est totalement impossible sans de très lourdes interventions manuelles. (résultat on contourne le problème avec les ORM, malgré leur impact désastreux en terme de performances, ce qui revient à transformer le SGBD en simple système de persistance).
Je suis très étonné que personne n'ait évoqué cet aspect pourtant essentiel.
"complot" était peut-être un peu fort, mais néanmoins il arrive très souvent que des société "commercialise[nt] un produit susceptible d'accroitre ou d'élargir les performances d'un produit de la concurrence", ils ne le font pas par bonté d'âme mais parce que le marché impose un inter-opérabilité, je prendrais l'exemple étonnant de MICROSOFT qui est devenu le 1er donateur "or" (ou platine ou je ne sais quel métal précieux) pour xxxBSD (je ne sais plus non plus quelle saveur), MICROSOFT fait passer des certifications LINUX (non, ce n'est pas un poisson d'avril), et MICROSOFT a (au moins une fois) été un contributeur important au noyau linux !quant à ma volonté de voir un complot chez les propriétaires d'OS, c'est tout aussi ridicule ; ou alors il est généralisé à l'ensemble de l'économie mondiale car je ne connais pas d'entreprise qui commercialise un produit susceptible d'accroitre ou d'élargir les performances d'un produit de la concurrence.
D'autant que c'est quand même un sacré bordel un OS, on y fait des choix d'architecture qui rende impossible une compatibilité avec un OS qui aurait fait un autre choix. On ne parle pas d'un nom de fonction qui en devient un autre mais bien de mécanismes.
Enfin rappelons quand même qu'une part extrêmement importante de l'informatique tourne sur une foultitude d'architectures matérielles différentes qui rends donc impossible la portabilité réelle d'un binaire... Alors pourquoi s'embêter à rendre les OS compatibles "binaires à binaires" quand de toute façon cet effort est vain une fois qu'on change de processeur... Et sachant qu'il existe des moyens de contourner le problème (langages interprétés, bibliothèques multi-plateforme type Qt)
Donc non, j'ai du mal a y voir une volonté malicieuse de la part des éditeurs...
C'est un peu hors sujet mais Microsoft a même mis de l'argent dans Apple à un moment où la société risquait de se casse la figure (c'était avant qu'elle rappelle Steve Jobs) ! Mais ce n'était pas pas bonté d'âme, c'était pour éviter de se trouver en situation de monopole, ce qui aurait pu lui causer des problèmes avec les lois US."complot" était peut-être un peu fort, mais néanmoins il arrive très souvent que des société "commercialise[nt] un produit susceptible d'accroitre ou d'élargir les performances d'un produit de la concurrence", ils ne le font pas par bonté d'âme mais parce que le marché impose un inter-opérabilité, je prendrais l'exemple étonnant de MICROSOFT qui est devenu le 1er donateur "or" (ou platine ou je ne sais quel métal précieux) pour xxxBSD (je ne sais plus non plus quelle saveur), MICROSOFT fait passer des certifications LINUX (non, ce n'est pas un poisson d'avril), et MICROSOFT a (au moins une fois) été un contributeur important au noyau linux !
Rien ne sert de penser, il faut réfléchir avant - Pierre Dac