Articles : Havoc Pennington se pose des questions sur les langages du libre
Posté par Aurélien Bompard (Jabber id, page perso, ). Modéré le 18 mars 2004.
Havoc Pennington, membre reconnu des développeurs de GNOME, et employé chez Red Hat, nous fait part de ses pensées sur les nouveaux langages de programmation qui apparaissent, et sur la façon dont la communauté du logiciel libre doit y répondre. Les deux principales cibles sont Java et .NET.
Les réflexions sont très nombreuses, et impossibles à résumer ici, mais on peut dire que l'objectif principal de son article est d'inciter la communauté du logiciel libre à choisir l'attitude à adopter envers Java et .NET.
Les réflexions sont très nombreuses, et impossibles à résumer ici, mais on peut dire que l'objectif principal de son article est d'inciter la communauté du logiciel libre à choisir l'attitude à adopter envers Java et .NET.
L'article (2572 hits)
La news sur gnomedesktop.org (614 hits)
> Lire la dépêche (244 commentaires, moyenne: 1,3).
Vous avez demandé le commentaire #372526.




Re: Havoc Pennington se pose des questions sur les langages du libre
> Havoc Pennington se pose des questions sur les langages du libre.
Le fond de l'article n'est pas là. L'article s'attarde principalement sur la plateforme et non sur le language.
.NET est une plateforme et C# est un language utilisé avec .NET .
Havoc attaque principalement .NET et non C# (entre autre à cause des librairies .NET qui n'ont pas de spec).
Si C# est utilisé au-dessus de Gnome, Havoc ne voit pas de problème. Par contre si l'ajoute de C# à Gnome implique d'offrir une plateforme .NET alors Havoc n'est pas du tout daccord. Par contre Havoc est moins opposé à offrir une plateforme JAVA. Entre autre car il y a gnuclass, une communauté java important, et de bonne relation entre la communauté java et Sun.
Enfin l'une des plus grosse préoccupation d'havoc est d'éviter un fork de Gnome et de conserver le support des entreprises commerciales.
La question du languages est presque annexe.
[+] [^]Re: Havoc Pennington se pose des questions sur les langages du libre
si, il y a bien une question des langages : .NET est indépendant du langage et donc laisse le choix à l'utilisateur, Java non. Basé le développement d'un API en Java limite son utilisation (même si y'a des bidouille pour utiliser dans d'autres langages, c'est pas ce qu'on appelle de l'intégration). Un environnement comme Gnome ne doit pas à mon avis limiter l'utilisateur dans le choix d'un seul langage. De plus la plateforme .NET permet réellement de faire des API plus "bas-niveau" de par l'interopérabilité avec le C (bien meilleur qu'en Java), la gestion des pointeurs et bien sûr la possibilité d'utiliser du code existant dans un des langages .NET.
Et puis de toute façon c'est pas compliqué : on peut faire tourner du bytecode Java sur .NET (Mono) et l'inverse n'est pas possible. Techniquement c'est vite vu. D'un point de vue ethique, Sun a autant de brevets sur sa JVM que Microsoft sur son API haut niveau. Seulement voilà : l'API haut niveau peut être remplacé (et de toute façon il est dépendant de Windows donc pas utile sous nux, sauf pour des migrations), et les spécifs de la VM .NET sont normalisée ISOtifié et tout ce que vous voulez.
MonoFrance
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
> .NET est indépendant du langage
.NET c'est une infrastructure de développement + une machine virtuelle. En théorie, c'est indépendant du langage, mais en pratique la machine virtuelle est fortement optimisée pour exécuter de C# (voire du java). En revanche les pour les autres lanages c'est pas toujours cela (cf. ocaml, eiffel...). D'autre part les librairies .NET ne sont pas libre et non standardisée.
> Basé le développement d'un API en Java limite son
> utilisation
Pourquoi? J'utilise tous les jours les librairies Apache, et ma foi c'est pas pire qu'ailleurs.
>Un environnement comme Gnome ne doit pas à mon avis
> limiter l'utilisateur dans le choix d'un seul langage.
Entièrement d'accord. C'est déja le cas aujourd'hui.
> De plus la plateforme .NET permet réellement
> de faire des API plus "bas-niveau"
> de par l'interopérabilité avec le C (bien meilleur qu'en Java
Pour accéder à des librairies en C depuis Java tu peux soit utiliser le JNI, c'est effectivement un peu lourd mais cela oblige à faire du code (au niveau java) peu près portable. Soit utiliser des interface spécifiques (type CNI pour gcj), c'est plus rapide, plus léger, mais c'est lié à ta machine virtuelle commen c#.
> la gestion des pointeurs
Le but c'est justement de s'en passer. Sinon on utlie du C ou du C++ et c'est tres bien.
> bien sûr la possibilité d'utiliser du code
>existant dans un des langages .NET.
Pour ton info, plus de langages ont été porté en bytecode Java qu'en MSIL.
>on peut faire tourner du bytecode Java sur .NET (Mono) et
> l'inverse n'est pas possible
C'est faux. Va regarder le site halcyon
> D'un point de vue ethique, Sun a autant de brevets
> sur sa JVM que Microsoft sur son API haut niveau
Et d'un point de vue pratique ?
> l'API haut niveau peut être remplacé (et de toute façon
> il est dépendant de Windows donc pas utile sous
> nux, sauf pour des migrations)
Pas vraiment compris ce que tu as voulu dire.
>et les spécifs de la VM .NET sont normalisée ISOtifié et
> tout ce que vous voulez.
Et tu crois que cela empéchera Microsoft de les modifier selon son bon vouloir. Rien ne les oblige. Faut pas être naif :-)).
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
"Et tu crois que cela empéchera Microsoft de les modifier selon son bon vouloir. Rien ne les oblige. Faut pas être naif :-)). "
Si le but est une compatibilité avec MSwindows je suis daccord que le changement des specs est un problème mais dans ce que l'on parle actuellement je vois vraiment pas.
Si des programmes Gnomes sont developés sous Mono ils resterons compatibles avec Mono, c'est pas parce que microsoft change sa VM que Mono est obligé de suivre aveuglément, ...
Donc argument HS
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Dans ce cas pourquoi prendre leur système plutôt que d'en créer un neuf inspiré de tout ce qui semble bon dans les systèmes proposés ?
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Parcque le leur est en test grandeur nature depuis 2 ans, que ca sert à rien de réinventer la roue et parcque un des buts est d'attirer des développeurs windozien sous nux en favorisant la migration sous nux.
MonoFrance
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Oui, c'est vrai.
Mais j'ai quand même peur d'entendre des remarques du genre "ils n'ont pas la capacité de créer leur framework, ils pompent sur MS"...
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
C'est pour ça qu'ils veulent compléter l'API Gnome# pour ne pas entendre ce genre de remarques ;)
MonoFrance
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Bof laissons les Ondits se faire.
Linux est une repompe de Unix, et respecte la norme POSIX, ça l'as jamais rendu moins bien à mes yeux.
Ca permets des trolls aux microsoftiens, mais l'attitude "t'est plus gros je te soudoie, t'est plus petit je te bouffe" nous permets bien des trolls aussi.
Dans le genre la souris et l'interface graphique ont été repompés de Xerox, le concept de "poubelle" de Apple, ...
Microsoft as de bon programmeurs accordont lui ça et là ils ont pondu une bonne base, ce qu'il y as dessus est un peu pouris, tampis, on prends ce qui est bien et on l'améliore.
Si on prends ce graphique : http://primates.ximian.com/~miguel/tmp/two-stacks.png(...) On utilise ce qui est en bas, on programme/améloire ce qui est à droite et on oublie ce qui est à gauche.
"Ce programme il est super-inovant" laissons ça aux publicitaires, faisons plutot "Ce programme il marche et il marche bien", c'est moin vendeur à cour terme mais je suis sur qu'à long terme c'est le mieux.
(PS: Désolé pour le ton, je me rends compte en me relisant que je me suis un peu emporté :D)
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
.NET c'est une infrastructure de développement + une machine virtuelle. En théorie, c'est indépendant du langage, mais en pratique la machine virtuelle est fortement optimisée pour exécuter de C# (voire du java). En revanche les pour les autres lanages c'est pas toujours cela (cf. ocaml, eiffel...). D'autre part les librairies .NET ne sont pas libre et non standardisée.
.NET a été conçu pour le langages intégrant la notion d'objet : c'est effectivement une restriction, mais tous les langages modernes semble intégrer cette notion.
Pour ce qui est de l'implémentation des autres langages, wait&see... tu as testé pour juger de la qualité des compilateur et du code généré ?
D'autre part les librairies .NET ne sont pas libre et non standardisée.
Si les parties indépendantes de l'OS. Les parties "hautes", surtout les WinForms ne sont pas standardisées. Est-ce un problème sous Linux où l'on veut plutôt utiliser GTK ou Qt ?
Pourquoi? J'utilise tous les jours les librairies Apache, et ma foi c'est pas pire qu'ailleurs.
Ah tu l'utilises dans n'importe quel langage ? Ou alors t'as triché et tu fais tourner du bytecode Java au dessus de Mono ;)
Pour accéder à des librairies en C depuis Java tu peux soit utiliser le JNI, c'est effectivement un peu lourd mais cela oblige à faire du code (au niveau java) peu près portable. Soit utiliser des interface spécifiques (type CNI pour gcj), c'est plus rapide, plus léger, mais c'est lié à ta machine virtuelle commen c#.
et c'est où le problème ?
Le plus impressionnant c'est C++, tu peux mixer du code .NET et du code C++ traditionnel, ça marche (me demande pas comment) très bien. Si .NET peut être un point de rassemblement pour les API ca me paraît déjà pas mal...
Le but c'est justement de s'en passer. Sinon on utlie du C ou du C++ et c'est tres bien.
Non le but c'est de laisser le langage décider. Tu utilises un langage qui ne gère pas les pointeurs si tu veux. Mais faut laisser le choix. Notamment pour utiliser du code C c'est bien pratique, mais aussi pour des algo bas-niveau.
Pour ton info, plus de langages ont été porté en bytecode Java qu'en MSIL.
Pour ton info ces langages portés ne respectent pas de conventions dans les type, de conventions dans les appels, n'implémentent pas les generics correctement, ne peuvent utiliser les pointeurs 'celà limite tous les langages bas-niveau)... TOut ça pour dire que celà n'apporte pas beaucoup d'intérêt à l'objectif d'interopérabilité... qui est quand même le but si on écoute MDI.
C'est faux. Va regarder le site halcyon
J'ai regarder. J'ai pas trouvé d'exemple concret.
Et la marmotte... si tu regardes de plus près, Java n'est même pas foutu de pouvoir implémenter les generics correctement sur sa propre VM... Nan, que ça marche sur certains morceau de code je veux bien, mais sur des scénario plus compliquer j'y crois pas... Eclipse tourne sur .NET, trouve moi une appli comme celle là en .NET qui tourne sur une machine Java et là peut être que j'y croirait... Mais franchement y'a des parties du code IL .NET qu'on peut pas transposer en Java...
Et d'un point de vue pratique ?
Ben d'un point de vue pratique, Sun a déjà fait valloir ses droits sur ces brevets, pas Microsoft.
Et tu crois que cela empéchera Microsoft de les modifier selon son bon vouloir. Rien ne les oblige. Faut pas être naif :-)).
Désolé mais Microsoft ne peut pas ne pas respecter la norme ISO sinon bonjour la réputation... De plus ce n'est pas du tout dans leur intérêt de casser la compatiblité avec l'existant...
MonoFrance
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
> .NET a été conçu pour le langages intégrant la notion d'objet
Certains langages purement objets ne sont pas supporté correctement par la machine virtule de c#. Voci une petite listes des limitations :
- C++ et Eiffel implementent l'heritage multliple. Non supporté par la CLR.
- "Mix-ins" demandé par Python. Non supportés.
- Généricité supportée uniquement comme en C++. Impossible encore pour Eiffel.
Le CLR a été conçue à la base pour implémenter c#, tous les langages qui s'en approchent (comme java) seront hautement favorisés, les autres non (cf. smarteifffel, ocaml).
> Est-ce un problème sous Linux où l'on veut plutôt
> utiliser GTK ou Qt ?
Ce n'est pas un pb au contraire. Mais je vois pas en quoi utiliser c# ou java change quoique ce soit dans ce cas.
> Le plus impressionnant c'est C++, tu peux mixer du code .NET
> et du code C++ traditionnel
Ton exemple est mal choisi. C++ n'est pas supporté par la CLR.
De plus dans ce cas, appeler une librairie xyz (native ou non) me parait une approche un peu plus propre que de mélanger du code dans un même source. Enfin, si tu souhaites programmer comme cela c'est ton droit.
> Non le but c'est de laisser le langage décider.
Moi je préfère quand c'est le développeur qui décide :-) Si je veux faire un driver linux, j'utiliserai le C (et ni c# ni java). Si c'est pour faire un programme de PAO, je préfèrerai un langage de haut niveau et je me tape complètement d'avoir des pointeurs.
> Pour ton info ces langages portés ne respectent pas
> de conventions dans les type
C'est comme pour la CLR de Microsoft, implémenter un langage Python en bytecode Java en fait un citoyen de seconde classe. (Au moins Sun ne s'en vante pas).
> Eclipse tourne sur .NET
Eclipse tourne sous ikvm. avec Classpath (l'implémentation GNU des classes Java) et SWT et tourne également trés bien sous Java...
> Et la marmotte... si tu regardes de plus près,
C'est pas la peine de t'énerver...
>Java n'est même pas foutu de pouvoir implémenter
>les generics correctement sur sa propre VM...
Franchement, même si c'est loin d'être parfait, je préfère nettement l'implémentation des génériques de Java que les templates de C++ (performants mais trop complexes)
> Ben d'un point de vue pratique, Sun a déjà fait valloir
> ses droits sur ces brevets, pas Microsoft
Ah bon un lien svp ??
>Désolé mais Microsoft ne peut pas ne pas respecter la norme
> ISO sinon bonjour la réputation...
LOL.
> De plus ce n'est pas du tout dans leur intérêt
> de casser la compatiblité avec l'existant...
Très trés naif. Même avec l'existant qui tourne sous Linux ?
.Net, c'est Microsoft, quelque soit les qualités de la plateforme, adopter .Net c'est faire le jeu de Microsoft. En tant que défenseur du libre, je ne leur ferai pas ce cadeau.
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Pour l'héritage multiple je suis bien d'accord. Ils ont fait ce choix parcqu'ils estiment que l'éhritage multiple pose beaucoup trop de problèmes. C'est discutable effectivement.
Généricité supportée uniquement comme en C++
je te conseilles la lecture de cet interview : http://www.artima.com/intv/generics.html(...)
Mais je vois pas en quoi utiliser c# ou java change quoique ce soit dans ce cas
Non ca change rien. Sauf que dans un cas tu proposes un API pour plusieurs langages d'un seul coup.
Enfin, si tu souhaites programmer comme cela c'est ton droit.
Non non rassures toi je trouve ça crade aussi, mais c'est moins brutale comme transition dans le cas de portages.
Franchement, même si c'est loin d'être parfait, je préfère nettement l'implémentation des génériques de Java que les templates de C++
cf le lien plus haut et tu comprendras pourquoi je suis d'accord avec toi mais que je préfères encore plus la version .NET ;)
Ah bon un lien svp ??
Tu te rappelles pas de l'attaque de Sun envers Microsoft qui estimait que Microsoft ruinait Sun en implémentant une JVM non compatible ? (et puis Microsoft paie des licence à Sun, donc bon...)
Très trés naif. Même avec l'existant qui tourne sous Linux ?
Vois pas le problème, Mono tourne sous windows donc bon...
adopter .Net c'est faire le jeu de Microsoft
Dans ce cas vois Mono comme quelque chose qui n'a rien à voir avec .NET et qui n'est même pas compatible, utilise que les API Gnome et tout ira comme dans le meilleur des mondes pour toi :)
MonoFrance
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
> Non ca change rien. Sauf que dans un cas tu proposes
> un API pour plusieurs langages d'un seul coup.
Tu propose une API pour les langages qui supportent de fonctionner dans une envirronement .NET. (c'est à dire pas C++, pas Eiffel, pas Ocaml, pas Python, etc.).
> cf le lien plus haut et tu comprendras pourquoi je suis d'accord avec toi mais
>que je préfères encore plus la version .NET ;)
Et cela sort quand sous Linux ?
> Tu te rappelles pas de l'attaque de Sun envers Microsoft qui estimait que
>Microsoft ruinait Sun en implémentant une JVM non compatible ?
Cela n'a strictement aucun rapport.
>Très trés naif. Même avec l'existant qui tourne sous Linux ?
>Vois pas le problème, Mono tourne sous windows donc bon...
Bien moi je le vois. M$ décide d'étendre .Net, ajoute des fonctionnalité brevetées, cachées, dépendant de l'os et évidemment impossibles à implémenter rapidement dans la version Linux. Tous les développeurs vont se plaindre (à juste titre) et dire : Linux c'est de la merde, sous Win 2019, on peut faire ci et ca et patati et patata...
Utiliser une technologie "standardisée" par M$, c'est avoir la certitude d'être et rester l'éternel numero deux (au mieux).
> Dans ce cas vois Mono comme quelque chose qui n'a rien à voir
> avec .NET et qui n'est même pas compatible
Alors pourquoi parles-tu tout le temps de .Net dans tes posts. Emploie uniquement le terme Mono et cela sera bien plus claire.
Pour moi Mono, c'est sensé être "compatible" avec .Net, c'est en tout cas l'objectif affiché (c'est indiqué à la 1ere ligne du site web!) et encore une fois je n'ai aucune envie de servir les intérets de M$.
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
(c'est à dire pas C++, pas Eiffel, pas Ocaml, pas Python, etc.).Là tu affirmes haut et fort que tous ceux qui s'amusent à porter ces langages sur .NET ne font que du mauvais boulot... C'est encore jeune tout ça, et quand tu regardes OCamil ou IronPython et ses perfs bah tu te dis que c'est déjà pas trop mal... Ensuite .NET est amené a évolué s'il manque des choses pour implémenter certains langages "vitaux". Pour C++ c'est tout de suite vue, ce n'est pas un vrai langage objet. Mais même si à terme tous les langages ne sont pas portés sur langages, parcque obn je comprend qu'il peut y a voir des choix techniques vraiment incompatible, celà reste une plateforme facilement utilisable de l'extérieur et donc une belle passerelle ou point de rendez-vous entre les libs.
Et cela sort quand sous Linux ?
tu rajoutes l'option -2 au compilo de mcs de Mono et zou t'as les generics (c'est encore en fini faut otut de même préciser)
Cela n'a strictement aucun rapport.
Ah bah si, Sun a fait valoir ses droits sur la JVM. La JVM serait un standard ECMA, Microsoft aurait pu faire ce qu'ils voulaient avec.
Bien moi je le vois. M$ décide d'étendre .Net[...]
Le but est de porter pour le moment la version 1.0 pour faciliter la migration. En 2019 la place de Linux sur le marché des OS ne sera sûrment plus la même... Reste que la base du framework sera toujours la même, ce qui ne sera pas portable, c'est ce qui sera dépendant de l'OS (naturellement). Mono aura (j'espère) ses propres qualités qui n'auront rien à envier à .NET. Et si c'est plus compatible, bah tant pis, on verra ça comme une techno concurrente de .NET qui n'a rien à voir et pi voilà.
Alors pourquoi parles-tu tout le temps de .Net dans tes posts
Parcque tou le monde parles de .NET. Mais c'est vraiq ue je devrais parler de Mono.
c'est sensé être "compatible" avec .Net
Me semble pas que ce soit le sujet du débat, là il s'agit de choisir une plateforme de développement à intégrer à Gnome pour pouvoir proposer des API utilisables par le maximum de programmeur.
MonoFrance
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
> Là tu affirmes haut et fort que tous ceux qui s'amusent
> à porter ces langages sur .NET ne font que du mauvais boulot
Non. j'affirme juste qu'il y a un tas de langages qui ne pourront pas être portés efficacement dans cet environnement et qui par ricochet souffriront de la comparaison avec c# (ou même java).
> C++ c'est tout de suite vue, ce n'est pas un vrai langage objet
Et alors... c'est tout de même trés utilisé.
>> c'est sensé être "compatible" avec .Net
>Me semble pas que ce soit le sujet du débat,
SI SI SI , pour moi le débat se situe la justement. Bon je me répète. Je n'ai aucune envie de prendre .Net car c'est "standardisé" par M$, et l'adopter c'est faire leur jeu.
Je pense que la communauté du libre n'a pas à faire ce genre de cadeau à M$.
Reprendre le byte code Java ou C#, ce ne me pose pas vraiment de pb (encore que), reprendre .Net si.
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Comm c'est dit plus haut, dit toi que c'est pas compatible avec .NET, que c'est juste un bonus supplémentaire, et que c'est quelque chose totalement nouveau, sous licence libre, avec des standards à l'ECMA et à l'ISO.
MonoFrance
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Non. j'affirme juste qu'il y a un tas de langages qui ne pourront pas être portés efficacement dans cet environnement et qui par ricochet souffriront de la comparaison avec c# (ou même java).
C'est sans importance. Le but des langages autres que C# sous .NET n'est pas de permettre de developper avec mais de recuperer sans trop de pbs du code existant. Personne ne va developper en Managed C++, par contre faire un wrapper avec autour d'une grosse appli C++ que tu n'as pas envie de re-ecrire en C#, oui.
Mais pour developper une appli neuve, tu vas evidemment prendre C# sans te poser de questions.
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
> si, il y a bien une question des langages
Oui et non. C'est pas le language qui pose le plus gros problème. Gnome est fait pour supporter tous (ou presque) les languages. Le problème est de reprendre des éléments et/ou spécification de la plateforme .NET ou java pour les mettres dans Gnome et non en surcouche de Gnome (comme c'est le cas de Gnome-java actuellement par exemple).
Les developpeurs de la plateforme Gnome se moquent que tu utilises C# pour faire une appli du moment que le support de C# est une surcouche de Gnome. Par contre supporter la *plateforme* .NET par Gnome, ça ne peut pas se faire en faisant une surcouche. Dans ce cas, .NET doit être au "coeur" de Gnome.
Prenons l'exemple d'XAML. Pour l'intégré dans Gnome, il faut modifier la plateforme Gnome. Que la modification soit faite en C ou en C# ou ... n'est pas le plus important. Par contre si pour avoir le support XAML pour les applis Gnome il faut utiliser des librairies/composants de .NET et/ou risquer d'être attaqué par MS pour des problèmes de brevet, là il y a de gros problèmes.
Le problème est que la plateforme Gnome doit évoluer. Havoc souligne que cette évolution doit rester neutre par rapport aux sociétés commerciales. Si la plateforme Gnome intègre des trucs (spec, API .NET, etc... et quelque soit le language) qui l'emprisonne dans un solution MS (par exemple), alors Ibm, Sun, les contributeurs bénévoles, etc... ne voudrons plus aider Gnome même si celà peut répondre à une demande à court/moyen terme voir même favoriser la diffusion de Gnome.
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
tu n'as pas bien compris.
1 des objectifs de MDI c'est de pouvoir proposer un API indépendant du langage, entendre par là ne pas avoir à supporter plusieurs bindings.
XAML c'est pour Windows à la base, je vois pas torp le rapport... Ce qui veut être repris dans XAML c'est le principe de correspondance entre les classes .NET et les balises XML... Bref, celà peut être le plus simplement du monde adapté à GTK# par exemple.
Pour ce qui est d'utiliser les librairies .NET de Microsoft, je vois pas trop, vu que MDI s'acharne à tout réécrire... De plus le but n'est pas d'utiliser les API windows sous Nux, c'est ici juste pour la compatiblité et attirer les développeurs windozien et faciliter la transition vers Linux, sinon tu utilises des lib .NET (Mono) 100% GPL au dessus de GTK, de Mozilla, de Qt, etc... je vois vraiment pas où est le problème.
MonoFrance
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
> 1 des objectifs de MDI c'est de pouvoir proposer un API indépendant du langage, entendre par là ne pas avoir à supporter plusieurs bindings.
J'ai parfaitement compris ça. C'est la même chose que .NET.
> Pour ce qui est d'utiliser les librairies .NET de Microsoft, je vois pas trop, vu que MDI s'acharne à tout réécrire...
Il est là le problème. MS à des brevets sur .NET (et pas sur CLI et C#).
De l'article :
Microsoft has set a clever trap by standardizing the core of the CLI and C# language with ECMA, while keeping proprietary the class libraries such as ASP.NET and XAML. There's the appearance of an open managed runtime, but it's an incomplete platform, and no momentum or standards body exists to drive it to completion in an open manner. Many interesting class libraries are clearly encumbered by Microsoft IP and nobody concerned about legal liability will want to ship them. The core may also be encumbered, though that remains uncertain.
Aside from IP issues, Microsoft controls the .NET platform. They will always be ahead, and it will always be tuned for Windows. This is the wrong direction for free software, if we want to win the war, and not only some battles.
Even if we use some unencumbered ideas or designs from the .NET world, we should never define our open source managed runtime as a .NET clone.
If we built on the ECMA core, it would be critical to launch a large-scale effort to standardize and market a comprehensive alternative API set to replace the Microsoft-encumbered class libraries. This would be a heck of a lot of work.
> c'est ici juste pour la compatiblité
Si c'est compatible (je parle de .NET et non de C#) il y a problème.
Je parlais d'"implémenter" .NET dans Gnome. Je ne parlais pas de copier les fichiers des classes .NET d'une machine Windows avec Licence MS sous Linux.
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
D'après MDI (qui tu penses bien a du réfléchir à 2 fois), à partir du moment où ils réécrivent tout il n'y a pas de violation de brevets. La seule chose que pourra faire Microsoft c'est ce que fait SCO actuellement, c'est râler parcque ils ont pomper le code, mais ils sont pas cons pour faire ça...
Toute la partie basse du framework, la VM sont parfaitement utlisables sous Gnome sans violer quoique ce soit. Ils implémentent juste un standard (ECMA) et écrivent des API au dessus.
MonoFrance
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Quant aux parties ou microsoft pourait utiliser des brevets si on prends ce shema : http://primates.ximian.com/~miguel/tmp/two-stacks.png(...) c'est les parties à gauche (Non standardisés) et de toute façon si gnome utilise Mono il utiliseras la partie de droite, pas le reste
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Merci pour l'info. De plus on peut penser que Novell a réflechit à la question.
Néanmoins même si Havoc a tord (ce qu'il annonce dès le début "Hopefully it will start a discussion and become rapidly outdated"), je trouve qu'il pose le "débat" sur le futur de Gnome sur de bonnes bases (c-à-d sans oublier d'éléments importants). J'espère que quelque chose de fédérateur sortira de tout ça et que Gnome s'engagera solidement vers la bonne direction. Car actuellement c'est le flou et aucune décision n'a été prise par rapport aux nouvelles technologies type .NET, XAML, etc... qui semble gagner en popularité.
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
> les spécifs de la VM .NET sont normalisée ISOtifié et tout ce que vous voulez.
Pas .NET dans son ensemble (ASP.NET, XAML, etc...). Le C# n'est pas le problème. C'est la plateforme .NET qui pose problème.
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Si j'ai bien lu l'article il parlait d'utiliser la plateforme, pas les ajouts non normalisés de microsoft.
Quant au XAML il ne fait pas encore partie de .Net à ce que je sache...
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
ce qui n'est pas normalisé c'est ce qui est dépendant de Windows, bref, on s'en fou plus ou moins dans le contexte, c'est intéressant et c'est présent juste pour faciliter la migration vers nunux.
MonoFrance
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Imposer une machine virtuelle et un Fw, c'est bien plus que d'imposer un langage.
De plus, l'interdiction d'utiliser les pointeurs en java, c'est justement l'intérêt du java. Comme la façon dont les exceptions sont utilisée, la façon dont le rtti fonctionne, enfin la notion d'interface et les templates compilées.
Avoir une machine virtuelle acceptant tous les langages, c'est d'un coup, vouloir tout monopoliser et interdire toutes innovations spécifiques, liées au langage.
Par exemple :
Le C a des qualités, en terme de maturité de spécification, de compatibilité binaire, qui le rendent bien supérieure au C++ (sur ces 2 points). Un bon dev sait exactement ce que le compilateur fait, et ce que le compilateur est autoriser a optimiser si il utilise du C. Donc vouloir avoir 1 machine virtuel qui fait tout (du C, du java), c'est avoir une machine virtuelle qui n'est bonne dans aucun domaine.
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
"...c'est avoir une machine virtuelle qui n'est bonne dans aucun domaine. "
Le but est de trouver un langage paricipal pour le projet gnome, pas LE seul langage/plateforme utilisable sous gnome, ou même LE seul langage/plateforme utilisable sous GNU/Linux...
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Les pointeurs dans .NET c'est pour simplifier l'utilisation d'API écrit en C par exemple et aussi pour laisser le choix aux langages d'implenter les pointeurs ou non. Les pointeurs peuvent être très utile pour des API de plus bas niveau, pour des optimisations.
Je n'est qu'une chose à dire : essai .NET et fait toi un vrai jugement sur ses capacités.
MonoFrance
[+] [^]Re: Havoc Pennington se pose des questions sur les langages du libre
> essai .NET et fait toi un vrai jugement sur ses capacités.
Trop fort. Quiz :
T'as lu 01 informatique aujourd'hui ?
Tu bosses au dpt marketing de M$ ?
Tu es pasBillpasGates qui a changé de pseudo ?
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
J'immagine évidement qu'il voulaid dire "La plateforme .Net avec Mono" car jusqu'au dernières nouvelles pour tester l'implémentation microsoft sous linux c'est plutôt dificile.
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
nan désolé je rentres pas dans ton Quiz :)
Mais bon, tu critiques quelque chose que tu ne semble pas avoir tester... donc je t'ai suggérer de tester .NET (Mono bien entendu ;) ), c'est tout :)
MonoFrance
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Tu trouves que dire a qq'un d'essayer par lui-meme pour se faire une idee au lieu de juger sans savoir c'est du marketing ?
C'est mal de se renseigner avant de parler de qqe chose ?
[^]Re: Havoc Pennington se pose des questions sur les langages du libre
Vive les réactions anti-ms primaire <_<
Il t'invite juste a te renseigner sur ce que tu critique au lieu de dire des conneries et toi tu t'enfonce, pas très malin ca...