> vous développez un programme Java sur la plate-forme Java de Sun, vous êtes voués à utiliser de fonctionnalités Sun exclusives sans même vous en rendre compte
Si tu utilises Swing dans un logiciel libre en Java, il y a de fortes chances qu'il ne soit pas utilisable dans le « Monde Libre » défini dans le texte. Cette fonctionnalité est disponible dans la plate-forme Java de Sun mais pas dans Classpath.
Il aurait aussi pu parler de la plate-forme Java d'IBM. Bref ce n'est pas l'architecture Java qui est concernée mais les implémentations propriétaires.
Si tu as codé ton logiciel libre en C++ avec la bibliothèque STL de Dinkum et que tu as utilisé la valeur de retour de la fonction membre erase(), ton code utilise des fonctionnalités spécifiques à Dinkum (et absentes de la norme).
>
Dans un monde idéal, (que Sun n'a JAMAIS appelé de ses voeux), la JVM serait un coprocesseur (ça existe, les processeurs Java, mais ça marche moyen), et serait donc du matériel. Que dirait alors Stallman ?
La même chose (je présume) que pour les instructions MMX, 3DNow et Cie propres à certains processeurs. On pourrait avoir du logiciel libre sans dépendre de logiciels propriétaires. Par contre il faudrait forcément avoir un processeur de cette famille pour utiliser le logiciel. Le mieux serait bien sûr que d'autres fondeurs puissent cabler ces instructions.
[^] # Re: Java trap
Posté par Benoît Sibaud (site web personnel) . En réponse à la dépêche Brèves Java. Évalué à 2.
Si tu utilises Swing dans un logiciel libre en Java, il y a de fortes chances qu'il ne soit pas utilisable dans le « Monde Libre » défini dans le texte. Cette fonctionnalité est disponible dans la plate-forme Java de Sun mais pas dans Classpath.
Il aurait aussi pu parler de la plate-forme Java d'IBM. Bref ce n'est pas l'architecture Java qui est concernée mais les implémentations propriétaires.
Exemple en C++ :
« Dinkumware
http://www.dinkumware.com/manuals/reader.aspx?b=p/&h=map.html#m(...)
iterator erase(iterator where);
iterator erase(iterator first, iterator last);
size_type erase(const Key& keyval);
GCC STL v3
http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.3/cl(...)
void erase (iterator __position)
size_type erase (const key_type &__x)
void erase (iterator __first, iterator __last)
SGI STL
http://www.sgi.com/tech/stl/Map.html(...)
void erase(iterator pos)
size_type erase(const key_type& k)
void erase(iterator first, iterator last) »
Si tu as codé ton logiciel libre en C++ avec la bibliothèque STL de Dinkum et que tu as utilisé la valeur de retour de la fonction membre erase(), ton code utilise des fonctionnalités spécifiques à Dinkum (et absentes de la norme).
>
Dans un monde idéal, (que Sun n'a JAMAIS appelé de ses voeux), la JVM serait un coprocesseur (ça existe, les processeurs Java, mais ça marche moyen), et serait donc du matériel. Que dirait alors Stallman ?
La même chose (je présume) que pour les instructions MMX, 3DNow et Cie propres à certains processeurs. On pourrait avoir du logiciel libre sans dépendre de logiciels propriétaires. Par contre il faudrait forcément avoir un processeur de cette famille pour utiliser le logiciel. Le mieux serait bien sûr que d'autres fondeurs puissent cabler ces instructions.