ehmicky a écritMerci, c'est ce genre de réponses que j'attendais !
De rien.
ehmicky a écritOk, donc je pense que j'avais vu ça pour ce qui est du JDK.
Maintenant, je cromprends pas trop ce à quoi ces brevets font référence, par rapport à Java : cela fait-il référence à la syntaxe même du langage, à la VM, ou à autre chose ? Par exemple l'initialisation statique, si c'est comme en C++ et que ça fait référence au fait d'initialiser une variable static, alors en C++, c'est le compilateur qui s'occupe de ça, mais en Java (que je connais pas !), j'imagine que ça doit être la VM, non ?
Les brevets font référence à des méthodes d'optimisation du Java et non pas au langage lui-même.
Typiquement l'initialisation statique en Java se fait par l'intermédiaire de méthodes spécifiques (les clinits, pour
CLass INITialisation), ces méthodes sont résolues et appelées
at runtime au
loading d'une classe la plupart du temps. Une méthode d'optimisation sur embarqué pour le Java consisterait à résoudre ces clinits
at compile-time et d'envoyer un format spécifique (par exemple un fichier xml décrivant la classe et la valeur de ses fields statiques) que la VM reconnaitrait. Ainsi au démarrage de la VM les clinits seraient déjà exécutées et tous les fields statiques initialisés ce qui évite à la VM de le faire d'ou un temps de démarrage des applications plus rapide. Tu vois rien ne dépend du langage mais bien de méthodes et outils d'optimisation pour le Java.
Dans le même sens il fut un temps où Sun voulait vendre leur VM avec un garbage collector (G1) optimisé et garder celle pas optimisée gratuite. La encore rien n'empêchait de coder sa VM mais on ne pouvait bénéficier du garbage collector qui roxxait des poney morts.
ehmicky a écritDonc, cela voudrait dire que le code de la VM Sun/Oracle n'est pas libre ?
Le code de la VM de Sun/Oracle n'est pas libre. Une partie seulement l'est. En effet certaines parties sont détenues par Oracle et d'autres ont été acheté du temps de Sun et même Oracle n'en a pas les droits. Ces parties de code propriétaire ont été recodé pour l'OpenJDK grâce au projet icedtea.
Mon avis dans cette histoire c'est qu'Oracle cherche à mesurer son emprise sur le langage en testant ce qui pourrait passer et gagner en justice face à un poids lourd du logiciel. Et ensuite mettre à genoux tous ceux qui pourraient les faire chier sur ces points.
D'où l'importance de fuir le plus vite possible cette entreprise à deux balles qui menacent OpenOffice, MySQL, et Java (pour ne citer qu'eux).