Comme dit dans la nouvelle sur LinuxFr.org, Sun a diffusé la machine virtuelle Hotspot, le compilateur Java, et le système d’aide Javahelp sous GPL :
http://linuxfr.org/2006/11/13/21624.html
Sur le site http://www.java.net/ Sun vous demande votre avis :
Quel est votre opinion sur le choix de la GPL comme licence Java open source ?
[ ] : C'est exactement ce que j'espérais
[ ] : J'aurais préféré une autre licence, mais je suis content
[ ] : J'aurais préféré un autre licence, et je suis mécontent
[ ] : Je ne pense pas que qu'il aurait dû être open source du tout
C'est peut-être utile de leur donner votre avis ?
# [X] : C'est exactement ce que j'espérais
Posté par Philip Marlowe . Évalué à 7.
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par kadreg . Évalué à 4.
C'était déjà la cas. Les specifications de la JVM étant publiques, de nombreux langages sont capab les de sortir sous forme de bytecode java. Ada, eifel, python, C# ...
http://www.robert-tolksdorf.de/vmlanguages.html
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par Antoine Reilles (site web personnel) . Évalué à 2.
http://www-sop.inria.fr/mimosa/fp/Bigloo/
qui peut aussi tourner sur un runtime .net
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par Sylvain Briole (site web personnel) . Évalué à 2.
Y-a-t'il quelque part un banc-d'essai qui a été réalisé pour valider la qualité (dans le sens fiabilité) de la/des machine(s) virtuelle(s)?
Sont-elles stables? Ou sont-elles aussi sujettes à bugs, comme certains processeurs bien physiques?
Je ne m'y connais que peu en théorie des langages, mais peut-être que quelque part il y aurait moyen de prouver la qualité de la machine/l'exactitude de la machine?
Sinon, après un survol rapide : le C semble être absent. Impossible à compiler et faire tourner sur ce genre de machine? Faut-il impérativement un langage orienté objet à la base?
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par TImaniac (site web personnel) . Évalué à 2.
C'est une plateforme très très connue en milieu professionnel.
Sont-elles stables? Ou sont-elles aussi sujettes à bugs, comme certains processeurs bien physiques?
Aucun soft n'est parfait, mais la VM de Sun est bien entendu stable (depuis le temps qu'elle existe elle peut bien :) ) et puis c'est plus facile à patcher qu'un processeur physique ;)
mais peut-être que quelque part il y aurait moyen de prouver la qualité de la machine/l'exactitude de la machine?
En théorie, oui, en pratique non.
le C semble être absent. Impossible à compiler et faire tourner sur ce genre de machine?
La VM de Sun a été conçue pour être utilisée avec le langage Java, orienté objet, c'est donc beaucoup plus naturel d'y intégrer des langages objets. Après on peut très bien s'amuser à faire tourner du C dessus, mais il ne faut pas espérer un niveau d'intégration profond. (exposer des API pour Java toussa). Exemple de compilo C vers JVM : http://www.axiomsol.com/
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par Sylvain Briole (site web personnel) . Évalué à 2.
> C'est une plateforme très très connue en milieu professionnel.
Je me suis mal exprimé : elle m'était relativement inconnue.
Je travaille dans le développement matériel/logiciel dans le monde embarqué, mais Java et autres JVM n'ont jamais franchi jusqu'à présent les portes de mes applications, pour la simple et bonne raison qu'on cause principalement C (voire parfois C++) chez nous, en raison du passé du code (qui a parfois 15 ans d'âge).
J'avais raté dans la page le compilo C vers JVM : intéressant en effet.
J'ai néanmoins du mal à me faire une image précise, dans le cas où je recherche une portabilité "extrème". Aurais-je tendance à privilégier :
- une solution logicielle à base de C norme ANSI bien propre.
- ou une solution logicielle à base d'un langage pouvant être compilé en vue d'utilisation sur une JVM.
Si je me pose cette question, c'est que j'ai rarement vu un processeur ou une plateforme (comprendre processeur + carte mère + système d'exploitation) non livrée avec un compilateur C, alors qu'une JVM m'a rarement été proposée.
Les JVM stables et éprouvées (je suppose que celle du "constructeur", à savoir Sun est la première la catégorie), sont elles facilement portables sur un nouveau processeur si le constructeur met à disposition un compilateur C?
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par TImaniac (site web personnel) . Évalué à 2.
Il existe différentes JVM, dans différentes éditions, notamment pour l'embarqué (plus légères, etc.). Evidemment, si la JVM est portable, c'est avant tout parcqu'il y a dessous un compilateur C pour la compiler :)
Enfin si tu veux mon avis, l'intérêt de la JVM c'est d'être portable pour Java, pas d'être portable pour du C. Donc soit t'utilise la JVM, et t'en profite pour utiliser un langage de plus "haut niveau", soit tu garde ton appli en C qui est portable, sans cibler de JVM.
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par Thomas Douillard . Évalué à 2.
C'est curieux, j'aurais dit l'inverse :) Enfin, un truc du genre: En théorie, non, en pratique, peut être. Pour prouver l'exactitude, on doit tomber à un moment ou à un autre sur le problème de l'arrêt ( http://fr.wikipedia.org/wiki/Probl%C3%A8me_de_l%27arr%C3%AAt ), qui est indécidable dans le cas général. En pratique, peut être que la JVM est théoriquement prouvable ? C'est pas parce que le prblème est indécidable dans le cas général qu'il l'est pas dans le cas particulier de la JVM. Bon, j'en doute, la JVM étant un morceau de code qui lui même interprête du code, on doit tomber sur de belles merdes théoriques, cf la preuve du problème de l'arrêt
Bon, après, en pratique, c'est rare qu'on s'amuse à essayer de prouver un programme de cette taille ...
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par MrLapinot (site web personnel) . Évalué à 1.
On ne peut pas tout prouver (en particulier, on ne peut prouver aucune propriété non triviale d'une machine de Turing si je ne dis pas de connerie), mais on peut prouver que la machine virtuelle (ou un programme en général) répond bien à certaines spécifications. C'est le domaine de la certification logicielle, ça utilise essentiellement de la logique, et effectivement on a de jolis résultats théoriques parfois un peu galères à mettre en pratique (notamment parce que les démonstrations ne sont que rarement automatiques, en général semi-automatiques).
</warning>
Merci de corriger les bêtises.
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par Thomas Douillard . Évalué à 2.
Un autre problème étant de s'assurer que les specs sont elles mêmes correctes :)
Sinon pour la preuve semi-automatique, c'est vrai en B par exemple, qui à si je me souviens bien du mal à prouver des propriétés dès qu'on touche à des cardinalités d'ensemble si je me souviens bien, sachant que B est un langage de spec ensembliste. Il faut ajouter des lemmes pour aider le prouveur si besoin.
Warning aussi, mes connaissances en spec formelles se résument à des cours de B en DUT :)
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par lambada . Évalué à 3.
Une fois la preuve établie (c'est évidemment la partie difficile), Coq est capable d'en extraire un code source en OCaml ou Haskell (via l'isomorphisme de Curry-Howard) qui sera correct par construction (si tant est que le petit coeur "trusted" de Coq, les axiomes, le compilo OCaml, le hardware, l'OS soient eux-mêmes dignes de confiance bien sur).
Coq ne part pas d'un programme pré-existant pour essayer de prouver sa correction vis à vis des spécifications.
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par Thomas Douillard . Évalué à 2.
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par totof2000 . Évalué à 1.
C'est "au temps pour moi".
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par Thomas Douillard . Évalué à 4.
http://www.langue-fr.net/index/A/au_temps-autant.htm
Donc voilà, personne n'étant capable de vraiment trancher, ce qui alimente le troll, j'ai décidé perso d'écrire la forme que j'ai toujours pensée valide avant de tomber sur le premier troll sur le net, et que j'ai toujours comprise intuitivement comme indiqué dans le lien ("c'est autant pour moi")
Et si t'es pas content je te merde :p
(D'ailleurs c'est beaucoup plus drôle de laisser vivre le troll)
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par iug . Évalué à 0.
Etant donné le nombre de personnes qui utilise Coq et le nombre de personnes qui utilisent la JVM, je suis plus que réservé...
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par Thomas Douillard . Évalué à 2.
De faire relire ces preuves super simple par pleins de gens, histoire d'être sûrs que ces preuves de bases sont correctes, et de construire l'implémentation en construisant toutes les bibliothèques à partir de ces briques de bases prouvées à la main, et en faisant tout vérifier par le prouveur de manière semi-automatique.
Alors certe, c'est un peu chateau de carte, mais c'est bien plus simple d'implémenter et de prouver et tester des briques de bases genre l'insertion d'un élément dans un tableau sans dépassement de capacité que de tester la JVM.
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par lambada . Évalué à 2.
Si stable = exempt de bugs ici, alors pour faire confiance à une preuve écrite par Coq tu dois faire confiance au coeur de Coq, relativement petit justement pour éviter les risques (+ le hardware, le compilo et autres cités plus haut mais ça s'applique aussi à la JVM).
Si la preuve passe Coq, elle est garantie sans erreur et le code généré aussi, c'est bien l'intérêt.
(bien sur en partant des principes donnés plus haut concernant le coeur de coq, le compilo, la génération de code, la théorie et autres)
http://coq.inria.fr/doc/faq.html#htoc7
Le problème c'est qu'on ne puisse pas réécrire Coq en Coq, mais bon ! Sacré Kurt ;-)
Etant donné le nombre de personnes qui utilise Coq et le nombre de personnes qui utilisent la JVM, je suis plus que réservé...
De toute façon j'apportais juste des précisions sur le fonctionnement de Coq, pas de son applicabilité à l'écriture d'une VM. Xavier Leroy et son équipe semblent s'intéresser à l'écriture d'un compilo prouvé formellement :
http://pauillac.inria.fr/~xleroy/compcert-backend/
http://pauillac.inria.fr/~xleroy/publi/cfront.pdf
http://groups.google.com/group/fa.caml/browse_thread/thread/(...)
# Réponses manquantes
Posté par Lol Zimmerli (site web personnel, Mastodon) . Évalué à 0.
[ ] je me fiche un peu
[ ] on verra bien
[ ] 42
La gelée de coings est une chose à ne pas avaler de travers.
[^] # Re: Réponses manquantes
Posté par lambada . Évalué à 7.
# [X] : Victoire !
Posté par moramarth . Évalué à 2.
# [X] : C'est exactement ce que j'espérais
Posté par Nahuel . Évalué à 2.
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par hophophop . Évalué à 5.
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par B16F4RV4RD1N . Évalué à 5.
Sinon, java était auparavant interdit à l'export vers certains pays, comme l'Iran par exemple (le téléchargement était bloqué d'ailleurs lorsque l'ip du téléchargeur venait d'un pays maudis par les USA).
Est-ce que le passage à la GPL permet de passer outre à cela ? Ou est-ce que d'un point de vue légal il y aura encore quelque chose qui bloquera ?
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par hophophop . Évalué à 2.
Maintenant si sun a decide de ne pas fournir de licence aux iraniens, ils ne fourniront pas de licence aux iraniens. GPL n'implique pas que le distributeur soit oblige de donner une licence a qui la demande.
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par B16F4RV4RD1N . Évalué à 2.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par hophophop . Évalué à 2.
Ca n'exclue pas que des tiers la fournissent aux messants iraniens.
Cela dit, je ne sais pas si ces clauses d'export sont une obligation legale americaine ou un choix de ces boites de ne pas exporter vers ces pays...
(je vote pour la premiere option, a confirmer par quelqu'un qui sait de quoi il parle, ie pas moi)
[^] # Re: [X] : C'est exactement ce que j'espérais
Posté par psychoslave__ (site web personnel) . Évalué à 2.
En résumé c'est donc bien des lois aux US qui force cette politique. M'enfin c'est connu, ne serait-ce que le coups pour cuba...
# [ ] : C'est exactement ce que j'espérais
Posté par mol67 . Évalué à 2.
Plus de choses pourront être implémentées, plus d'apprioris pour ajouter du code Java dans les distribs, que du bon.
D'ailleurs Mono pourrait également profiter d'améliorations provenant de Java et vis versa. (Je pense à la machine virtuelle)
[^] # Re: [ ] : C'est exactement ce que j'espérais
Posté par taratatatata . Évalué à 2.
Tu t'avances.
Novell a besoin des droits sur le code contribué à Mono pour avoir la possibilité de changer la licence du bousin.
Ils n'intègreront pas la moindre ligne de code en provenance de Java, vu que Sun ne donnera jamais leur copyright/le droit de changer la licence.
De même, à ce propos, il n'y aura pas la moindre ligne de code de GNU Classpath / GCJ qui pourra aller chez Sun, qui doit garder le contrôle de la bête.
# Trop tard
Posté par Sytoka Modon (site web personnel) . Évalué à 3.
Je ne sais pas combien de temps leur sondage reste en ligne. En tout cas, ils sont passés à u autre sondage ;-( Dommage, il n'y a pas eu beaucoup de votant en tout.
[^] # Re: Trop tard
Posté par Cali_Mero . Évalué à 4.
Les plus observateurs remarqueront que 0,3% des votants ont porté leur voix sur Pierre Tramo. Sans doute un vote constestataire !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.