Mono 0.24

Posté par  . Modéré par Nÿco.
Étiquettes :
0
8
mai
2003
Linux
La version 0.24 de Mono, l'implémentation libre de .NET, initiative de Ximian, est sortie. Elle utilise notamment un nouveau générateur de code nettement plus performant.

Par ailleurs le compilateur C# se paie le luxe de proposer les itérateurs, encore absents du C# de Microsoft.

Notez également l'apparition du site communautaire http://www.gotmono.com/ visiblement inspiré (au moins par son nom) de http://www.gotdotnet.com/. Ce site n'est pour l'instant pas très avancé.

Aller plus loin

  • # Re: Mono 0.24

    Posté par  . Évalué à 8.

    Pour l'histoire des itérateurs, ca peut être une excellente nouvelle. Si Ximian commence à prendre de l'avance sur les futures versions de C#, il pourrait bien devenir une implémentation de référence...

    Comment ca, on n'a plus le droit de rever?
    • [^] # Re: Mono 0.24

      Posté par  . Évalué à 9.

      D'où l'utilité de la part Microsoft d'avoir standardisé C#...
      • [^] # Re: Mono 0.24

        Posté par  . Évalué à 5.

        pour combien de temps ??
        le probleme c'est qu'ils changent a chaque version parceque ca les emmerde que la concurence soit devenue compatible
        • [^] # Re: Mono 0.24

          Posté par  . Évalué à 9.

          Sauf que C# est standardisé auprès de l'ECMA, de même que JavaScript et quelques autres. Et il semblerait que la CLI soit standardisée aussi. Donc, le seul truc qu'ils peuvent s'amuser à changer, c'est les APIs de .NET. Et ca, à part fatiguer les développeurs, ca risque pas de leur apporter grand chose.

          D'une certaine manière, c'est une tentative de MS de mettre en place un framework "vraiment" potable. Je doute que leur désir de pouvoir soit fort au point de leur faire saccager leur nouveau bébé.
          • [^] # Re: Mono 0.24

            Posté par  . Évalué à 10.

            D'une certaine manière, c'est une tentative de MS de mettre en place un framework "vraiment" potable. Je doute que leur désir de pouvoir soit fort au point de leur faire saccager leur nouveau bébé.

            Euh, je te trouves un peu optimiste concernant la stratégie de microsoft.
            Une chose est sure, microsoft a toujours su prendre les bonnes décisions pour préserver sa position dans le domaine informatique. Celà fait longtemps que le marketing et le commercial passent avant le technique chez eux et c'est vital pour eux s'ils veulent conserver leur place. Une entreprise en position de monopole doit avant tout contrôler ses adversaires pour que les avancées du domaine dans lequel elle évolue soient de son fait ou disparaissent purement et simplement. Si tu fouilles le passé de microsoft, tu te rapelleras qu'ils empêchaient aux autres dos de faire tourner windowset ses applications, qu'ils ne documentaient pas la totalité de leur API pour conserver de l'avance sur les éditeurs travaillant sur leur plateforme, qu'ils ont racheté un nombre considérable de boites pour combler des vides dans des domaines où ils étaient largués (sybase et bien d'autres...),qu'ils ont récupéré du code provenant d'autres systèmes....la liste est encore longue mais nous avons tous les éléments qui nous permettent de savoir que microsoft fait tout ce qu'il faut pour conserver sa position.
            Penses-tu toujours qu'un ingénieur fou de chez microsoft à eu une vision et que ça a donné .net? Non, bien sûr. L'objectif qu'ils poursuivent depuis plus de 5 ans, c'est faire disparaître java! Ils ont essayé de se l'approprier à une époque mais Sun s'en était sorti (en allant devant un tribunal tout de même). Maintenant, ils tentent de le détroner en créant leur propre langage miraculeux. Ils ont débauché l'inventeur de c#, ont repris ce qui faisait la force de java et le ressortent avec leur propre discours.
            Ils veulent tout simplement récupérer les développeurs java et qui plus est, ceux qui développent sous une autre plateforme. Ils annoncent bien le multi-plateforme pourtant mais n'ont pas fait un trés grand effort dans ce sens. Ils doivent bien rigoler en regardant les mecs de mono galérer pour les rattraper. En plus, ils leur permettent d'affirmer qu'il s'agit vraiment de multi-plateforme puisqu'ils n'ont aucune crainte à avoir de cette version qui aura toujours un trés long train de retard.
            Ce que je trouve domage dans cette histoire, c'est qu'une partie de la communauté ne voit pas l'absurdité que celà représente d'implémenter une soit disant nouvelle technologie de microsoft alors qu'elle n'a même pas encore été adoptée par les développeurs. C'est aider microsoft et être stupide au point de ne pas penser que microsoft à tout prévu pour garder le contrôle sur sa technologie et surtout privilégier SA plateforme.
            • [^] # Re: Mono 0.24

              Posté par  . Évalué à 0.

              Rien ne permet de dire que mono sera toujours intrinséquement en retard. Il ya quelque chose qui s'appelle l'existant, les API de .NET finiront bien par converger et se stabiliser un jour, MS n'est quand même pas fou pour les changer à tout bout de champ simplement pour qu'ils ne soient pas clonés.

              Il y avait parait-il une blague qui circulait à un certain moment chez MS : "pourquoi dieu a-il crée le monde en 6 jours, réponse : c'est parce qu'il n'avait pas d'existant"
              • [^] # Commentaire supprimé

                Posté par  . Évalué à 7.

                Ce commentaire a été supprimé par l’équipe de modération.

                • [^] # Commentaire supprimé

                  Posté par  . Évalué à -3.

                  Ce commentaire a été supprimé par l’équipe de modération.

                  • [^] # Re: Mono 0.24

                    Posté par  . Évalué à -1.

                    J'ai aussi été "moinssé" pour la même remarque :
                    http://linuxfr.org/comments/205985.html(...)

                    A croire que cela dérange quelque uns de signaler la chose.

                    Bienvenue dans le nouveau monde de la notation linuxfr :))
                    Bof rien à voir, surtout du fait des afficionnados de PgPg et autres tordus...

                    -200
                    • [^] # Commentaire supprimé

                      Posté par  . Évalué à -1.

                      Ce commentaire a été supprimé par l’équipe de modération.

                      • [^] # Re: Mono 0.24

                        Posté par  . Évalué à -1.

                        Ca vient de certaines personnes qui ne se rendent pas compte que le systéme de notation négatif est la pour faire disparaitre ce qui nuit au débat et non pour baisser les opinions différentes de la leur.
                        • [^] # Re: Mono 0.24

                          Posté par  . Évalué à -1.

                          Une opinion sur un commentaire qui ne fait que signaler un fait ?
                          Je crois surtout que c'est parce qu'on a "osé" parler de ce fait dans donner le lien qui le prouve. Certains ont la flemme de chercher par eux même une news qui n'a que 3 mois et qui est classé 18 sur le moteur de recherche Linuxfr avec comme clé "Microsoft". Par contre avec "microsoft API" il ne trouve rien, pas bien au point ce moteur.
              • [^] # Re: Mono 0.24

                Posté par  (site web personnel) . Évalué à 1.

                ils pourraient rendre les versions Windows de C# incompatibles avec les autres (comme le champ inutilise de kerberos si mes souvenirs sont bons)
                • [^] # Re: Mono 0.24

                  Posté par  . Évalué à 6.

                  Le champs inutilise de Kerberos ca n'a pas ete fait pour "rendre incompatible".

                  Simplement Windows est un systeme qui utilise des ACL, et il faut bien pouvoir stocker les infos qqe part, ce "champs inutilise" est un champ "vendor specific", et les infos ont ete mises dedans, c'est fait pour ca, et d'ailleurs MS n'est pas le 1er vendeur a avoir fait cela.

                  Le bruit venait du fait que MS n'avait pas voulu publier sont format, mais techniquement parlant ce que MS a fait avec Kerberos est tout a fait normal, il n'y a pas d'autres moyen de le faire.
                  • [^] # Re: Mono 0.24

                    Posté par  (site web personnel) . Évalué à 0.

                    oui est donc? c'est bien comme l'histoire des champ non utilisé de kerberos
                    specifiques et pas publiés
                    • [^] # Re: Mono 0.24

                      Posté par  . Évalué à 2.

                      oui est donc? c'est bien comme l'histoire des champ non utilisé de kerberos
                      specifiques et pas publiés


                      Qu'est-ce que ça veut dire, en français ?
                    • [^] # Re: Mono 0.24

                      Posté par  . Évalué à 1.

                      Donc ? Donc ils ne l'ont pas fait pour casser la compatibilite, ils l'ont fait car il n'y avait pas d'autre methode possible.
          • [^] # Re: Mono 0.24

            Posté par  (site web personnel) . Évalué à 6.

            Sauf que C# est standardisé auprès de l'ECMA, de même que JavaScript

            Sans vouloir être pessimiste, le JavaScript n'est pas vraiment un exemple ... Ecris un peu de code en JavaScript (en te suivant le standard), tiens il tourne sous IE4 mais pas sous IE5 ou 6. Par contre il tourne sous Mozilla mais pas sous Opera ... Bref, on ne sait jamais sur quels browsers il fonctionnera ni sur quelles versions de browsers ...

            Tu vois ou je veux en venir ?
            • [^] # Re: Mono 0.24

              Posté par  . Évalué à -4.

              <i>> Tu vois ou je veux en venir ?

              C# (et le Javascript), c'est de la merde !

              J'ai bon ?
            • [^] # Re: Mono 0.24

              Posté par  (site web personnel) . Évalué à 3.

              Non on ne vois pas. ne pas confondre JavaScript, EcmaScript, et DOM.
              Les 2 premiers marcheront de la meme facon dans IE, Opera, Mozilla, etc.
              C'est l'implementation du deuxieme qui pose probleme (et encore, si tu suis le DOM,
              maintenant tu ne devrais avoir aucun probleme avec IE6, Mozilla1.x et Opera7)

              http://www.openweb.eu.org/dom/(...) (attention justement, les articles concernant javascript se retrouvent dans le dom, vu que dans les navigateurs, la seule implementation dom disponible concerne le javascript/ecmascript)
              • [^] # Re: Mono 0.24

                Posté par  . Évalué à 5.

                Merci. Je parlais bien entendu de la version ECMA de JavaScript (aussi appellée EcmaScript). Les implémentations du passé n'étaient pas forcément des modèles d'interopérabilité, mais c'est désormais lettre morte.

                Et pour en revenir à .NET et à Mono, si une technologie libre permet de faire des applis aussi portables qu'en Java, mais avec des meilleures perfs et une meilleure intégration (et éventuellement en plus libre), j'achète. Qu'elle vienne de Microsoft ou non n'est pas un critère.
              • [^] # Re: Mono 0.24

                Posté par  (site web personnel) . Évalué à 1.

                ... C'est l'implementation du deuxieme ...
                Il fallait lire, du 3eme bien sur. (vu que microsoft poussait bcp jusqua present, moins maintenant, "son" DOM)

                PS: pourquoi des [-] alors que je tente d'expliquer un truc a quelqu'un dans l'erreur ?
            • [^] # Re: Mono 0.24

              Posté par  (site web personnel) . Évalué à 0.

              A moins que ça n'ai changé entre temps, IE ne supporte pas officiellement JavaScript. quelques temps après le lancement de JavaScript par Netscape, MS a décidé de créer "son propre language", le JScript, qui utilise la même syntaxe que JavaScript, mais des api juste un peu différentes, et qui réponds aux mêmes balises < script type = "javascript" >. D'ou les problèmes de compatibilité, mais le JavaScript proprement dit est assez bien défini.
          • [^] # Re: Mono 0.24

            Posté par  . Évalué à 1.

            Donc, le seul truc qu'ils peuvent s'amuser à changer, c'est les APIs de .NET. Et ca, à part fatiguer les développeurs, ca risque pas de leur apporter grand chose.

            Sans trop faire chier les développeurs il suffit à Microsoft d'ajouter des API qui n'existent pas ailleurs ou de mettre dans les API des trucs très proches de Windows qui seront très difficiles à implementer sur d'autres plates-formes.

            Sans jouer sur les APIs il serait très facile à Microsoft de modifier l'implémentation de sa plate-forme .Net pour dégrader les performances lorsqu'elle dialogue avec un système non Microsoft (en utilisant un protocole de communication non-standard par exemple). Ainsi il serait très très facile à un commercial de démontrer la supériorité d'une solution tout Microsoft (vous voyez, il a suffit de remplacer votre serveur Linux par un NT2003 pour que les clients ne rament plus).

            D'une certaine manière, c'est une tentative de MS de mettre en place un framework "vraiment" potable. Je doute que leur désir de pouvoir soit fort au point de leur faire saccager leur nouveau bébé.

            Bien sûr l'un des but de .Net est de drainer des développeurs (compétents si possible) il ne faut donc pas en faire un poubelle mais l'un des autres but de Microsoft est de vendre les logiciels de la maison (Windows, Visual Studio, etc.). Connaissant le poids du marketting chez Microsoft il est évident que .Net servira de tremplin à la migration de clients de Unix vers Windows. À mon avis perso Mono et toutes les ouvertures de .Net n'ont été autorisées par le marketting que pour éviter de nouveaux procès pour abus de position dominante (c'est probablement la même chose avec media player 9).
            • [^] # Re: Mono 0.24

              Posté par  . Évalué à 2.

              Sans jouer sur les APIs il serait très facile à Microsoft de modifier l'implémentation de sa plate-forme .Net pour dégrader les performances lorsqu'elle dialogue avec un système non Microsoft (en utilisant un protocole de communication non-standard par exemple). Ainsi il serait très très facile à un commercial de démontrer la supériorité d'une solution tout Microsoft (vous voyez, il a suffit de remplacer votre serveur Linux par un NT2003 pour que les clients ne rament plus).

              ??? t'es en train de nous expliquer que si ms (ou n'importe qui) fait un truc fermé sans spécification, ça communiquera pas facilement avec l'extérieur... tu le sais, je le sais, on le sait tous... mais euh... rapport?

              On parle d'implémentation une API (une API est par définition une interface), ce que ms peut faire c'est rajouter quelques classes et quelques méthodes qui vont bien dans son framework histoire de l'avantager par rapport au reste... (ce que Mono fait déjà, leur implémentation du framework contient certaines améliorations par rapport à celui de ms ... ainsi qu'une implémentation des itérateurs en avance sur le planning ms...).

              Personnellement je vois .NET comme une façon pour microsoft de nettoyer son bordel, de le rendre plus cohérent, effiace et facile d'emploi... le C# contient quelques concepts intéressant (delegates, attributes, foreach) bien que peu novateurs, .NET apporte certaines choses sympathique dans son framework et dans ses idées... Mono tente d'avoir tous cela en libre, que vouloir de plus? si c'est mauvais, on l'utilise pas, si c'est bon, ça fait un moyen de plus de développer...

              Concernant la portabilité, ms en parle très peu, et c'tait pas vraiment le concept de base de .NET... ils n'ont visiblement pas tout fait pour que ce ne soit pas portable, mais ils ne font pas grand chose pour... il y a bien rotor l'implémentation "shared source" du CLI, mais les parties réellement "intéressantes" n'y sont pas (winforms, ASP.NET, ADO.NET, ...).
              • [^] # Re: Mono 0.24

                Posté par  . Évalué à 2.

                Si je te suis bien, le manque d'ouverture du code par MS indique qu'ils n'ont pas pensé leur truc en termes de portabilité. Si c'est le cas, je m'inscris en faux:

                Il y'a une différence entre faire un code portable et faire un code ouvert. Les deux concepts sont orthogonaux: tu peux tout à fait avoir un code ouvert et galèrissimal à porter (exemple: un truc plein d'assembleur, pas commenté et bordélique), comme un code fermé mais pensé de façon à être portable.

                Alors oui, dans le deuxième cas, seuls les (heureux?) possesseurs du code pouront facilement faire quelquechose, mais ca n'ôte rien à la portabilité intrinsèque du bazar.
                • [^] # Re: Mono 0.24

                  Posté par  . Évalué à 3.

                  Si je te suis bien, le manque d'ouverture du code par MS indique qu'ils n'ont pas pensé leur truc en termes de portabilité.

                  Non je n'ai pas voulu faire un tel lien entre les deux (parce que source ne veut pas dire portable... spec non plus d'ailleurs, mais c'est souvent plus simple avec...).

                  Quand je parle de ne pas vouloir en faire un truc portable, je pars de mon expérience personnelle (je suis en train de tester C#/.NET sous windows): MSDN (la doc http://msdn.microsoft.com(...)) parle très peu de portabilité, rotor contient peu de code (ce qui empêche d'affirmer que .NET est portable, ça ne veut pas dire que c'est impossible!), mais surout, en regardant la série de classe de .NET. Un programmer Win32 s'y retrouve très vite parce qu'il y retrouve un gout de Win32, plus dans certaines parties que dans d'autre:
                  - les thread sont géré "à la windows", c'est d'ailleurs un gros problème que mono a rencontré, ce n'est pas apparent, mais ça a du être chaud! (ainsi que tous les objets systèmes).
                  - winforms est mappé sur Win32, boucle de message, owner draw, style, etc... on y retrouve tout, alors que X utilise un modèle relativement différent!
                  - tous le remoting est basé sur COM+.
                  - ...

                  Ca permet à .NET d'être plus "rapide" que java, ils ne sont pas parti des mêms bases et avec les mêms contraintes: ms a pris le plus petit dénominateur commun de ses propres OS (et encore en droppant Windows 95) par contre il a voulu conservé l'existant et supporté plusieurs langages, Sun a du jouer avec son OS ainsi que tous les autres mais a pu se concentrer sur un seul nouveau langage... je crois que .NET est bien pour un programmeur Win32 et que Java reste l'une des seules solutions pour faire un truc portable... si .NET existe sous linux, même sans être 100% portable (ceci dit, rien n'est 100% portable, même en java, il faut programmer "correctement" si on veut de la portabilité, et certaines choses posent toujours des prob...) il peut amha offrir une nouvelle façon de programmer au développeur linux (certains aimeront, d'autre pas, ça donne plus de choix!).
                  • [^] # Re: Mono 0.24

                    Posté par  . Évalué à 1.

                    Alors j'approuve complètement :)

                    En ce qui me concerne, Java commence sérieusement à me peser, il me tarde vraiment de voir arriver un langage de programmation multiplateformes, libre et riche en bibliothèques "standard". Il y'a bien Python (mon choix actuel), mais c'est pas la panacée non plus.

                    Je doute fort que Mono/.NET soit LA solution, mais ca peut être un pas dans la bonne direction, donc je garde un oeil dessus au cas où :)
                    • [^] # Re: Mono 0.24

                      Posté par  . Évalué à 2.

                      >En ce qui me concerne, Java commence sérieusement à me peser, il me tarde vraiment >de voir arriver un langage de programmation multiplateformes, libre et riche en >bibliothèques "standard".


                      GNUstep / Cocoa ?
                      • [^] # Re: Mono 0.24

                        Posté par  . Évalué à 1.

                        J'y avais pensé, mais d'une part j'ai vraiment pas accroché à l'Objective-C, et d'autre part ca me "limite" la portabilité à Unix et MacOSX. Et dans le cas d'un prof qui demande des binaires sous Windows, ca m'arrange grave de pouvoir générer directement le binaire windows depuis mon Linux (je suis passé par un mingw comme cross-compiler, mais c'est vraiment pas idéal).
                        • [^] # Re: Mono 0.24

                          Posté par  . Évalué à 1.

                          GNUstep fonctionne sous Windows
                          Mais c'est sur que cross compiler n'est pas l'ideal .....
                        • [^] # Re: Mono 0.24

                          Posté par  . Évalué à 2.

                          Pourtant ces systèmes ont tout ce qu'il faut, la portabilité (Windows, Unix, MacOS X), un standard (OpenStep), un excellent langage (Objective C), un système d'objets distribués (avec NSConnection).

                          Je déplore le fait que trop peu de développeurs utilisent GNUstep.
              • [^] # Re: Mono 0.24

                Posté par  . Évalué à 2.

                ??? t'es en train de nous expliquer que si ms (ou n'importe qui) fait un truc fermé sans spécification, ça communiquera pas facilement avec l'extérieur... tu le sais, je le sais, on le sait tous... mais euh... rapport?

                Le rapport ? Si Mono veut être une implémentation libre de .Net, son interopérabilité avec l'implémentation de Microsoft en terme de performance et de compatibilité sera primordiale pour la crédibilité de Mono. Le fait que la spec de .Net appartienne entièrement à Microsoft est déjà un gros problème pour Mono car lorsque de nouvelles version sortiront, la plate-forme de Microsoft implémentera déjà la spec alors que Mono devra l'implémenter. C'est un premier problème. Ensuite comme je le disais dans mon message original si Mono devient un concurrent pour Microsoft (par exemple en permettant à des entreprises d'utiliser des applications .Net sans avoir à remplacer leurs Unix par du Windows) il serait extrêmement facile de désavantager l'implémentation libre par rapport à l'implémentation de Microsoft.

                J'ai donc du mal à imaginer que Mono puisse être réellement crédible lorsqu'il faudra une interopérabilité avec .Net.

                si c'est mauvais, on l'utilise pas, si c'est bon, ça fait un moyen de plus de développer...

                Je n'avais effectivement pas pensé à l'hypothèse dans laquelle Mono ne cherche pas à être nécessairement compatible avec .Net mais à fournir pour les plates-formes Linux/*BSD/Unix un nouveau framework de développement. C'est effectivement intéressant mais dans un article suivant tu précises que certains aspect de .Net sont complètement calqués sur Windows et pose des problèmes d'implémentation sous Linux (les threads par exemple). Lorsque je lis ça je me demande à quel point Mono sera efficace sous Linux et si l'on ne cherche pas la compatibilité avec .Net pourquoi ne pas sortir un framework inspiré de .Net mais qui ne reprenne pas ce qui est clairement trop lié à Windows.
                • [^] # Re: Mono 0.24

                  Posté par  . Évalué à 3.

                  Le fait que la spec de .Net appartienne entièrement à Microsoft est déjà un gros problème pour Mono car lorsque de nouvelles version sortiront, la plate-forme de Microsoft implémentera déjà la spec alors que Mono devra l'implémenter.

                  Les spec .NET 1.1 sont là depuis un moment, .NET 1.1 est sorti y'a 2 quelques semaines...

                  L'amélioration des iterator est déjà présente dans Mono, microsoft compte ajouter cette fonctionnalité en 2004/2005...

                  J'ai l'impression que la réalité contredis tes craintes, que je trouve des craintes justifiées, mais d'un autre côté:
                  - tant que mono n'est pas équivalent (ou supérieur) à .NET, ms a plutôt intéret à ne rien empêcher: ce n'est pas un concurrent dangereux, mais ça fait parler de .NET.
                  - .NET est un produit commercial, déjà en production sur certains sites, ms n'a donc plus la possibilité de changer du tout au tout... regarde l'évolution de l'API Win32: des choses ont étés ajoutées, mais pratiquement, peu de développeurs les utilisent: faut que ça reste compatible avec tous les windows... à terme, y'aura je pense le même effet sur .NET...
                  - Même si ms modifie toutes les semaines ses classes, comme il doit aussi rester compatible avec l'existant, tu feras tourner une appli mono.NET sur ms.NET... faudra comme toujours (même en java), ne pas utiliser de fonctionnalité spécifique.

                  Lorsque je lis ça je me demande à quel point Mono sera efficace sous Linux et si l'on ne cherche pas la compatibilité avec .Net pourquoi ne pas sortir un framework inspiré de .Net mais qui ne reprenne pas ce qui est clairement trop lié à Windows.

                  En fait, je vois cela d'une façon un peu différente: il y'a portabilité et possibilité de portabilité... visiblement mono tente de calquer sur ms pour ce qui va bien, ce qui permet d'être portable, même leur but n'est pas d'exécuter des programmes ms.NET (ce n'est pas wine!). Ce qui je trouve est une attitude intelligente: on aura le même langage, les mêmes classes de bases, les mêmes réflexes, la possibilité de faire une application riche et portable si nécessaire (avec Gtk# par exemple), la facilité d'interraction avec des assembly non portable (ce que java ne propose pas vraiment, utiliser du natif n'est pas trivial), tous cela sans être contraint dans un moule type vm java.

                  Niveau perf, je n'en sais pas plus, je suis déjà en train de ramer pour évaluer les perfs de ms.NET, pour celle de mono, j'attendrai un peu ;-)
                  • [^] # Re: Mono 0.24

                    Posté par  . Évalué à 1.

                    <i>> on aura le même langage, les mêmes classes de bases, les mêmes réflexes, la possibilité de faire une application riche et portable si nécessaire (avec Gtk# par exemple), Scuze, mais tu pourrais préciser ? J'avais cru comprendre qu'une fois compilée, une appli .NET aurait fonctionné indifféremment sur MS.NET ou Mono.NET (comme un truc en Java, donc). Là, tu donnes l'impression qu'il faut recompiler pour chaque plate-forme. Quelqu'un pourrait-il me donner une explication, j'ai dû tout comprendre de traviole.
                    • [^] # Re: Mono 0.24

                      Posté par  . Évalué à 4.

                      Tu n'as pas compris de traviole, tu peux faire tourner du code .NET sans le recompiler sous ms.net ou mono.net... mais comme j'essaie de le dire, .NET permet d'utiliser facilement des composant "non managé", et ça c'est absolument pas portable... (un racourci à la hache: winforms est un wrapper pour le toolkit windows...) en bref, quand tu développeras, ce sera "un peu comme en C", tu peux faire du portable, mais faudra alors s'arranger pour n'utiliser que des composants portables... (ceci dit, le prob se pose même en java...). Donc dans le meilleurs des cas, on a .NET tous portable, ou on l'a pas, et alors, on se retrouve avec: "on aura le même langage, les mêmes classes de bases, les mêmes réflexes, la possibilité de faire une application riche et portable si nécessaire (avec Gtk# par exemple), ". Ceci dit, pour plus d'informations, je te conseille la poubelle microsoft (http://msdn.microsoft.com) ou le site de mono (http://go-mono.com).
              • [^] # Re: Mono 0.24

                Posté par  . Évalué à 1.

                je vous rappelle que MS ne s'interesse pas tellement a la portabilite, mais a l'interoperabilite, qui elle est bien plus importante, et meme primordiale.
    • [^] # Re: Mono 0.24

      Posté par  (site web personnel) . Évalué à 1.

      Euh, les itérateurs sont une des nouveautés prévu dans la prochaine implémentation du C# par Microsoft (tout comme la généricité etc.), suffit d'aller jeter un coup d'oeil sur gotdotnet pour voir un beau pps qui explique très bien les plans de Microsoft depuis un bout de temps...
      Donc non, Ximian ne prend pas le risque d'implémenter un nouveau standard, tout juste sort-il la gestion des itérateurs avant Microsoft... (sont pas fou non plus chez Ximian)
      • [^] # Re: Mono 0.24

        Posté par  . Évalué à 2.

        J'ai pas dit le contraire: j'ai juste dit qu'ils prenaient de l'avance, pas des initiatives.
  • # Re: Mono 0.24

    Posté par  . Évalué à 7.

    programmer en .net c'est encourager le monopole ms donc poubelle
    • [^] # Re: Mono 0.24

      Posté par  . Évalué à 3.

      Je trouve que tu as tort.

      .net a été copie de JAVA -> ok MAIS Il inclut pas mal d avantage pour les programmeurs.. les objetds prédéfinis etc.. en font 1 outil pratique.. Malgré que c krosoft c'est plutot le concept que j trouve intéressant..
      • [^] # Re: Mono 0.24

        Posté par  (site web personnel) . Évalué à 5.

        Je rentre moi aussi dans le troll Java vs C#. Alors on pourrait encore ameliorer C# et creer un troisieme langage ? Est-ce que les ameliorations presentes dans C# par rapport a valent le coup d'un nouveau langage ? J'ai des doutes.
        • [^] # Re: Mono 0.24

          Posté par  . Évalué à 2.

          Alors on pourrait encore ameliorer C# et creer un troisieme langage ?

          C# n'est pas le langage le plus avancé pour programmer sous .NET. Il y a aussi Eiffel#, qui a des caractérisques avancées : héritage multiple, etc.

          Participer à .NET, ou mono, c'est collaborer avec l'ennemi. Ceci dit, si .NET tient ses promesses, ça va faire mal...
          • [^] # Re: Mono 0.24

            Posté par  . Évalué à 2.

            Participer à .NET, ou mono, c'est collaborer avec l'ennemi.

            Si l'"ennemi" produit quelquechose de qualité, et que le libre peut le cloner avec succès, qu'elle est le problème? Avoir reconnu que MS a produit quelquechose de qualité?
            • [^] # Re: Mono 0.24

              Posté par  . Évalué à 3.

              Cloner une chose verrouillée par des brevets est dangereuse. Le mieux serait peut-être de reprendre l'idée et de la porter sur un autre terrain, ce que semble vouloir faire dotGNU.
              Le travail à faire pour concevoir une plateforme comparable à .NET est énorme. Qu'il y ait deux projets libres concurrents qui veulent poursuivre ce but n'est pas une bonne chose.
              • [^] # Re: Mono 0.24

                Posté par  . Évalué à 2.

                L'ennui, c'est que soit tu fait quelquechose de compatible, et si tu y'a arrives malgré les brevets tu auras un vrai public (les gens qui veulent faire tourner du .NET sous Linux, au moins). Mais tu a effectivement le danger des brevets.

                Soit tu fais quelquechose d'équivalent en fonctionnalité, mais suffisament éloigné pour ne pas être inquiété. La par contre, c'est un peu plus simple vis-à-vis du code (tu ne t'embarasses pas à essayer de maintenir une compatibilité), mais plus compliqué vis-à-vis de la conception (tu n'utilise pas un truc déjà tout pensé). Et accessoirement, tu es obligé d'aller gagner tes utilisateurs à la sueur du front (en les convainquant que ton truc est mieux que celui d'en face, et qu'il faut oublier celui d'en face pour venir chez toi).

                Je sais pas pourquoi, mais je vois plus d'avenir (malgré le danger des brevets) dans le premier cas.
                • [^] # Re: Mono 0.24

                  Posté par  . Évalué à 3.

                  Je sais pas pourquoi, mais je vois plus d'avenir (malgré le danger des brevets) dans le premier cas. Oullala! Je sens que c'est pas gagné avec toi! C'est quoi ce raisonnement de commercial? Tu es en train de sous-entendre qu'on est obligé de copier .net pour survivre. Et accessoirement, tu es obligé d'aller gagner tes utilisateurs à la sueur du front Tu n'as pas tout compris à la philosophie du libre ou alors tu ne la partages pas. Personne ne cours aprés les utilisateurs à tout prix. Il s'agit de rendre disponible à tout un chacun le travail de ceux qui le veulent, librement. Concernant .net, la communauté n'était pas concernée. Il se trouve que MDI et sa bande d'investisseurs de Ximian ont décidé de devenir les leaders du .net sous linux avec pour but de vendre des outils de développement aux futurs développeurs .net sous linux. Au passage, le gros coup de pub que ça représente ne fait que les réjouir. Maintenant, comme bien souvent quand MDI annonce connaitre la vérité ultime, beaucoup de linuxiens sont convaincus que le futur passe par .net sous linux et rien d'autre... Moi, je te demande simplement de me donner un exemple concret d'une application rélle qui permettra d'utiliser linux exclusivement à la place de machines sous windows. Je note déjà que les machines linux pourront être totalement remplacée par des windows si l'interopérabilité est respectée mais que l'inverse peut trés facilement être rendu impossible tout simplement par l'usage de classes non encore implémentées dans mono.
                  • [^] # Re: Mono 0.24

                    Posté par  . Évalué à 1.

                    C'est quoi ce raisonnement de commercial? Tu es en train de sous-entendre qu'on est obligé de copier .net pour survivre.

                    Non, juste qu'une alternative à .NET sera plus viable si elle est compatible .NET que si elle ne l'est pas. A sans cesse inventer des roues incompatibles entre elles, on risque pas d'avancer. Et après tout, quand MS introduit des incompatibilités avec des softs libres on braille (et moi le premier), mais il faudrait laisser le libre introduire des incompatibilités avec les autres?

                    Après, savoir si on a besoin d'une alternative à .NET ou pas, c'est un autre débat.

                    Moi, je te demande simplement de me donner un exemple concret d'une application rélle qui permettra d'utiliser linux exclusivement à la place de machines sous windows.

                    Je ne vois pas le rapport. Mono n'est pas fait pour être l'argument ultime en faveur de la migration intégrale. C'est un moyen de ne pas rester à la traine, et d'éviter que des gens ne repartent vers du propriétaire (ou hésitent à migrer) "parce que leur couteuse application codée sous .NET ne tourne pas sous Linux, et que la porter reviendrait trop cher".
                    • [^] # Re: Mono 0.24

                      Posté par  . Évalué à 3.

                      Je ne vois pas le rapport. Mono n'est pas fait pour être l'argument ultime en faveur de la migration intégrale. C'est un moyen de ne pas rester à la traine, et d'éviter que des gens ne repartent vers du propriétaire (ou hésitent à migrer) "parce que leur couteuse application codée sous .NET ne tourne pas sous Linux, et que la porter reviendrait trop cher".

                      Il y aura forcément un travail de portage à effectuer. De plus, au vu des exemples peu concluants que propose mono et qui ne cassent vraiment pas la baraque, je ne vois pas comment l'existance de mono avec son retard éternel pourrait lutter contre l'implémentation de l'inventeur, développé sur la plateforme de l'inventeur et utilisant les optimisations non portables lièes à la plateforme de 'inventeur.
                      Non, vraiment, je ne pense pas que linux puisse lutter à armes égales avec windows sur le plan de l'interopérabilité concernant .net.
                      Si l'application est écrite dés le départ sous linux en utilisant mono, ca peut par contre devenir un point faible dans une architecture d'entreprise puisque le serveur linux pourra se faire remplacer sans souçis par une machine windows qui représente quand même le standard quand on parle de .net.
                      Voilà pourquoi vouloir imiter quelquechose que l'on ne maitrise pas du tout peut nous amener tout droit dans le mur. Il faut innover et proposer mieux. Jusqu'à présent, tu défends beaucoup mono mais tu ne m'as toujours pas donné un cas concret prouvant l'intérêt indéniable de mono...
              • [^] # Re: Mono 0.24

                Posté par  . Évalué à 6.

                Je commençais à désespérer devant l'engouement sucité par .net et mono chez des "linuxiens".
                Je ne pense pas que linux manque de langages et d'aPI performants au point de devoir se jeter sur la dernière tentative de framework d'une boite ayant le monopole comme culture.
                On se retrouve encore comme des moutons à suivre le champion du propriétaire alors que les ressources gachèes à vouloir imiter permettrait d'améliorer l'existant bien au delà de ce que ne pourra jamais offrir .net.
                .net apporte si peux de choses réellement nouvelles et rien d'indispensable qu'on ne peut que reconnaitre la puissance de persuation du marketing microsoft.
                J'aimerai que ceux qui comptent utiliser .net me disent ce qu'ils comptent en faire pour m'aider à comprendre les avantages qui m'auraient échappé. Ce qui serait encore plus intéressant dans vos réponses, ça serait de faire un comparatif avec la mise en place de la même solution grâce à un environment uniquement linux.
                Merci pour vos réponses.
                • [^] # Re: Mono 0.24

                  Posté par  . Évalué à 3.

                  Encore une fois, ca sent l'amalgame "libre/linux" à plein nez.

                  Quant à un framework type .NET, ca me servirait pour un paquet de chose. Produire des applications multiplateformes avec un minimum d'efforts, notamment.

                  Parce que, aussi malheureux que ca puisse paraître, il y'a encore des gens qui utilisent windows. Et que même si préfererais amplement qu'ils migrent tous vers autrechose, ca ne fait que déplacer le problème. A moins qu'on n'établisse une hégémonie linuxienne (ou unixienne) comparable à l'hégémonie windowsienne qu'on déplore tous, il y'aura toujours besoin de faire des choses portables.

                  Et que le jour où un prof (ou un patron ou un client) me demandera une appli .NET, je serais bien content de ne pas avoir à acheter un windows, à pourrir une partition pour l'installer, etc...

                  Maintenant tu peux peut-être te permettre de refuser un contrat sous prétexte qu'il te demande de faire du .NET, mais c'est loin d'être le cas de tout le monde.
                  • [^] # Re: Mono 0.24

                    Posté par  . Évalué à 1.

                    Le problème est la capacité de verrouillage que détient Microsoft sur son propre produit. Dans un premier temps, ça a des chances d'être multi-plateformes, vu que c'est tout de même sa raison d'être. Si ça connaît le succès, les tentations de dérive genre J++ vont être grandes. Cela marchera partout, mais encore mieux sous MS-Windows. Puis, il va y avoir des plateformes où ça ne marchera plus très bien... Il est bien connu que Microsoft adore la diversité, sauf peut-être celle de sa concurrence.

                    D'un autre côté, si une alternative libre équivalente existe, Microsoft aura toujours la possibilité de saboter sa machine virtuelle sous Windows, de cent manières différentes. On a vu leur bonne volonté pour installer la VM Java sous XP.

                    Encore une fois, ca sent l'amalgame "libre/linux" à plein nez.

                    Beaucoup de monde utilise la plateforme GNU/Linux pour développer des logiciels libres... .NET n'est pas là pour faire des applications portables. D'autres langages existent déjà qui permettent ça. .NET est surtout un moyen de faire des applications distribuées et, dans un premier temps au moins, cela implique pour être crédible de pouvoir le faire dans un environnement hétérogène.
                    • [^] # Re: Mono 0.24

                      Posté par  . Évalué à 1.

                      Si vraiment .NET montre trop de mauvaise volonté à rester compatible avec lui même, on pourra toujours se tourner exclusivement vers Mono. Après tout, lui est réellement multiplateformes.
                      • [^] # Re: Mono 0.24

                        Posté par  . Évalué à 3.

                        Soit je me suis mal exprimé, soit tu as mal compris.

                        Microsoft produit le système d'exploitation et la plateforme .NET. Leur premier adversaire n'est pas Mono (à part pour vouloir produire un effet comique, je ne vois pas pourquoi quiconque affirmerait cela), mais Java. Si .NET venait à supplanter Java, les développeurs de Mono auraient sûrement du souci à se faire pour récupérer les spécifications des évolutions futures de MS-Windows. Ou alors j'ai l'esprit mal tourné.
                  • [^] # Re: Mono 0.24

                    Posté par  . Évalué à 1.

                    Tiens, au sujet du portage, dans quelle mesure du code reposant sur .NET sera-t-il multiplateforme ?
                    Est-il prévu des VM pour Unix et MacOS ?
                    Un binaire développé pour windows .NET pourra-t-il être réellement utilisé sur Unix sans aucune adaptation de code (ce que permet de faire Java) ?
            • [^] # Re: Mono 0.24

              Posté par  . Évalué à 1.

              "que le libre peut le cloner avec succès, qu'elle est le problème?"

              ça permet à certains CEO de sortir des phrases comme ça :

              "Innovation is not something that is easy to do in the kind of distributed environment that the open-source/Linux world works in. I would argue that our customers have seen a lot more innovation from us than they have seen from that community."

              (indice: il fut vendeur de lessive ^^ )
              • [^] # Re: Mono 0.24

                Posté par  . Évalué à 0.

                C'est pas faux, mais c'est un tout autre problème. Dans ce cas là, Mono est loin d'être le premier sur lequel il faut taper, bien après GNU, KDE et d'autres encore...
          • [^] # Commentaire supprimé

            Posté par  . Évalué à 2.

            Ce commentaire a été supprimé par l’équipe de modération.

            • [^] # Re: Mono 0.24

              Posté par  . Évalué à 3.

              De la biere et des filles pour tout le monde.
              • [^] # Re: Mono 0.24

                Posté par  (site web personnel) . Évalué à 2.

                Il y a un probleme ce que tu dis: les filles n'auront pas "de la biere et des filles" car elles auront des mecs buvant de la biere.
            • [^] # Re: Mono 0.24

              Posté par  . Évalué à 2.

              En gros, la même chose que JAVA, avec la possibilité de choisir le langage dans lequel tu programmes.
              Pour en savoir plus, expliqué plus clairement que je ne pourrais le faire : http://www.01net.com/article/154757.html(...) .
              • [^] # Re: Mono 0.24

                Posté par  (site web personnel) . Évalué à 1.

                En gros, la même chose que JAVA, avec la possibilité de choisir le langage dans lequel tu programmes.

                Pas vraiment. En .NET tu développes en C#, rien d'autre. Le multi-langage n'est là que pour récupérer relativement facilement du code existant (par exemple pour .net-ifier une vieille appli sans avoir à tout ré-écrire), mais les versions .NET des langages comme C++ sont bien trop complexes et limitées pour être raisonnablement utilisées pour écrire une appli partant de zéro.

                Par contre, par rapport à Java, .NET offre de bien meilleures performances à l'exécution.
                • [^] # Re: Mono 0.24

                  Posté par  . Évalué à 1.

                  En .NET tu développes en C#, rien d'autre.
                  Il me semble avoir vu que l'on adresse la même cible avec des langages différents. Que le langage soit plus ou moins adapté est un autre problème. Eiffel Software propose un produit spécifique, Eiffel ENViSioN! ( http://www.eiffel.com/products/envsn10(...) ), adapté à la plateforme. Si je devais avoir à programmer pour .NET, c'est le langage que je choisirais, vu que je le pratique. Il me resterait à apprendre les bibliothèques spécifiques.
                • [^] # Re: Mono 0.24

                  Posté par  . Évalué à 3.

                  Pas vraiment. En .NET tu développes en C#, rien d'autre.
                  Non il existe le C#, le J# (marrant non ?) le VB.net et ainis de suite.
                  En fait vu que .net repose sur un systeme de pseudo machine virtuelle il est possible de programmer pour .net en assembleur et de la d'ecrire tous les languages de programation qui vous plaisent.
                  En theorie la meme chose est possible sur la JVM, mais bon l'assembleur jvm ca a beau etre un jouet extra (255 registres, la fete) on doit pas etre beaucoup a s'en servir.

                  Par contre, par rapport à Java, .NET offre de bien meilleures performances à l'exécution.

                  Oui, non peut-etre. En fait java est une bouffeur de memoire de premiere. C# par contre lui se goinfre du CPU. A partir de la il n'est pas tres difficile de faire une beccane qui va sur-avantager l'un ou l'autre.
                  Pour des applis Java en production c'est vari qu'il faut souvent pousser jusqu'a 2Go de memoire pour etre bien, par contre si le JIT est active un processeur unique de 500 Mhz tient parfaitement la charge.
                  La seule plateforme .net que j'ai montee (pour test) a arrete de scaler en perf a 512Mo par contre avec un bipro 1Ghz (le top a l'epoque) j'avais encore le CPU a 100% frequement.

                  J'ai des potes qui font toujours du dev sur cette plateforme et apparament c'est toujours le cas (ie CPU limitant).

                  Kha
                  • [^] # Re: Mono 0.24

                    Posté par  (site web personnel) . Évalué à 2.

                    Non il existe le C#, le J# (marrant non ?) le VB.net et ainis de suite.

                    Je ne dis pas le contraire, relis ce que j'écris. Le fait est qu'en pratique, la plupart de ces langages existent en .NET sous des formes limitées, ou pas simples du tout à utiliser (l'exemple le plus frappant est Managed C++), et leur but n'est pas d'être utilisés pour développer des applis entières mais juste servir de "glue" pour passer sous .NET des applis existantes.
                    • [^] # Re: Mono 0.24

                      Posté par  . Évalué à 1.

                      Que reproches-tu au managed C++?
                      • [^] # Re: Mono 0.24

                        Posté par  (site web personnel) . Évalué à 1.

                        D'être encore plus complexe que C++ (la nécéssité de déclarer les classes "managed" ou pas) tout en retirant des features (les templates, si je me souviens bien).
                        • [^] # Re: Mono 0.24

                          Posté par  (site web personnel) . Évalué à 1.

                          Ah non, après recherche y a bien toujours les templates, mais pas avec des classes managées : http://www.gotw.ca/publications/standard_c++_meets_managed_c++.htm Par contre la liste des keywords ajoutés est quand même impressionnante : http://www.ondotnet.com/pub/a/dotnet/2003/01/13/intromcpp.html d'où le fait que ce langage n'est pas concu pour être utilisé pour développer des applis entières, mais plutôt pour récuperer facilement du code C++ existant, ou éventuellement écrire des parties "sensibles" point de vue perfs.
                        • [^] # Re: Mono 0.24

                          Posté par  . Évalué à 1.

                          plus complexe je dirais pas, différent oui, mais bon vouloir garder tous ses réflexes du C++ dans un environnement totalement différent, faut pas rêver...

                          Je croyais que tu avais des points particulier à reprocher au C++ managé, par rapport aux autres langages .NET...
                          • [^] # Re: Mono 0.24

                            Posté par  (site web personnel) . Évalué à 1.

                            Je croyais que tu avais des points particulier à reprocher au C++ managé, par rapport aux autres langages .NET...

                            Je n'ai rien à lui reprocher, je constate juste que, comme les autres langages de .NET hormis C#, son but est de faciliter la récupération du code existant, pas de servir d'alternative à C#. Ce qui est à mon avis une excellente chose, d'ailleurs.
                    • [^] # Re: Mono 0.24

                      Posté par  . Évalué à 2.

                      Bon je vais etre de tres mauvaise fois la, mais le fait que J# et VB.net soit tres limites, pas simple du tout a utiliser, et tout juste bon a servir de glue pour passer sous la nouvelle API qui brille des applis qui fonctionnent de toute facon tres bien sans eux, ca les differencie en quoi des versions precedentes ? Non parceque VB6 (on va etre gentil et on va pas parler de J#) a part pour faire un GUI fonctionnel en 20 minutes pour une demo client j'ai pas encore bien compris a quoi ca servait. Deja que les bugs VisualC++ ont finis par miner ma patience, VB j'ai failli devenir fou une cinquantaine de fois sur le seul projet que j'ai accepte dessus. Kha
                      • [^] # Re: Mono 0.24

                        Posté par  (site web personnel) . Évalué à 3.

                        D'après certains experts, VB.Net est tellement différent de VB standard, qu'il serait plus productif de passer directement à C#, ce qui confirmerait les posts plus haut qui indiquaient que le vrai langage .Net, c'est C#
                • [^] # Re: Mono 0.24

                  Posté par  . Évalué à 2.

                  Pas vraiment. En .NET tu développes en C#, rien d'autre.

                  ???

                  Tu as de base: J# (un simili java), C#, C++ et VB.NET il offre tous les mêmes possibilité, attention cependant le C++ n'est pas du C++ "pur", ils ont du ajouté quelques fonctionnalité, et modifier certains comportement du au Garbage Collector.

                  Tu as aussi d'autre langage Eiffel.NET par exemple, bientôt Delphi.NET... et même une tentative de python.NET...
              • [^] # Re: Mono 0.24

                Posté par  . Évalué à 0.

                les projets informatiques dépassent très souvent les budgets, l'échancier, souvent pas assez testé, manque des fonctionnalités.... c'est déjà complexe de gérer un projets avec un langage, alors avec plusieurs...
          • [^] # Stop au pipo !

            Posté par  . Évalué à 5.

            "Ceci dit, si .NET tient ses promesses, ça va faire mal... " Quelles promesses ? Faire le menage, la cuisine, raser gratis ou faire des logiciels en un click ? MS.net est un solution produit plus du tout une "plateforme" ! Ainsi le comparer à Java est ridicule, si on veut trouver un concurent à mettre en face dans le monde Java on peut voir IBM Websphere ou Sun One ! Mais MS.net comme plateforme à part entiere est relativement virtuel. Ceci est confirmer par l'arret de l'utilisation des suffixes ".net" dans tous les produits cuvées 2003 et les opérations comerciales (TV, radio, ...). MS c'est rendu compte que ce qui compté c'etat le produit et pas le "virtuel". Au lieu de réver au "golem.net", on ferait peut-etre mieux de booster le projet classpath pour offrir une implementation d'une VM opensource, seul piece non-opensource a lors actuelle pour offrir une veritable alternative modulaire, performante et perenne au rouleau compresseur alimenté par la pompe à fric MS ! Agissez sur maintenant sur : http://www.gnu.org/software/classpath/ http://www.gnu.org/software/classpathx/
      • [^] # Re: Mono 0.24

        Posté par  (site web personnel) . Évalué à 1.

        Mais pourquoi on n'implémente pas plutôt un compilateur C# sur la JVM (est-ce que ça existe ?) parce que bon c'est une machine virtuel turing complete... donc y a-priori pas de problème ? me trompè-je ?
        • [^] # Re: Mono 0.24

          Posté par  . Évalué à 1.

          donc y a-priori pas de problème ? me trompè-je ? En theorie pas de probleme, on est d'accord, a priori un gros probleme : les signaux. Il faudra rajouter au dessus de la machine virtuelle Java une machine virtuelle .Net et donc tous les siganux devront etre converti de natif vers java puis de java vers .Net, avant de redescendre en utilisant les memes chemins. Bref un pur gaspillage de perf. De plus le point fort de .Net reste son compilateur JIT. Hors sur le .Net JVM il faudrait de facon evidente que le compilateur compile en java natif, apres cela le JIT de java aurait toute les peines du monde a recompiler. A moins de faire un compileur JIT qui optimise tres peu de .Net vers Java en comptant sur le compilateur JIT java pour s'en occuper. Bref c'est theoriquemnt interressant, ca peut reserver des surprises (cf emulation dynamo) mais ca peut surtout virer au gaspillage de ressources pur et simple. Kha
          • [^] # Re: Mono 0.24

            Posté par  (site web personnel) . Évalué à 3.

            au gaspillage de ressources pur et simple. Vraisemblablement. Cependant, la vrai différence entre les deus machines virtuelles, c'est essentiellement le passage par adresse possible pour les types fondamentaux dans celle de MS et pas dans la JVM. Il est donc probable que pour des langages qui utilisent cette fonctionnalité, la version MS soit plus rapide que la version JVM (ça a été démontré pour pascal, par exemple). Sinon, je ne comprends rien à ton passage sur le JIT. Les deux VM ont des JIT, celui de la JVM est très performant, donc je ne vois pas trop le problème.
            • [^] # Re: Mono 0.24

              Posté par  (site web personnel) . Évalué à 2.

              Moi non plus je ne comprends pas...
              l faudra rajouter au dessus de la machine virtuelle Java une machine virtuelle .Net

              Pourquoi cela... ma vision était plutôt de compiler directement le C# en bytecode JVM... qui lui sera compilé natif par le JIT de la JVM...

              Donc pourquoi devoir implémenter une machine virtuelle .Net au-dessus de la JVM, ça n'a pas de sens...
              • [^] # Re: Mono 0.24

                Posté par  . Évalué à 2.

                Si on compile le C# au sens "classique" du terme, alors le programme ne devient plus executable que sur la JVM. Ce qu nuit un peut a son utilite. Je pensais que tu voulais avoir un systeme qui te permette de faire tourner une appli C# sur une JVM, d'ou mes remarques.

                Par contre faire un compilateur C# sur la JVM ca risque aussi d'etre assez complexe, compte tenu du fait que les api de programmations risquent d'etre tres differentes d'une plateforme a l'autre. Il faudra donc un compilateur compatible avec le code C# MS, un compilateur compatible avec le code C# mono etc.

                Personellement je trouve l'idee d'une compatibilite binaire beaucoup plus interressante dans ce cas particulier la.


                Kha
                • [^] # Re: Mono 0.24

                  Posté par  (site web personnel) . Évalué à 1.

                  alors le programme ne devient plus executable que sur la JVM. Ce qu nuit un peut a son utilite.

                  Je ne trouve pas... bon d'accord tu te retrouves avec le même problème que les langages "classiques", tu dois recompiler...

                  Mais en principe c'est faux... vu qu'il y a des JVM sur pratiquement toutes les plateformes...

                  De plus cela permettrait des portages facile d'appli .net vers une JVM... d'où une grande portabilité... contrairement à .net ou mono est la seule alternative...

                  En attendant une JVM (Java2) complétement libre... ce qui arrivera c'est sur... <=== mon rêve...
                  • [^] # Re: Mono 0.24

                    Posté par  . Évalué à 2.

                    De plus cela permettrait des portages facile d'appli .net vers une JVM... d'où une grande portabilité... contrairement à .net ou mono est la seule alternative...

                    Ben justement pas du tout, le code n'est pas portable parceque les versions Mono et MS sont differentes au niveau des API. On pourrait envisager que le compilateur de la JVM utilse les API de Mono, mais pourquoi implementer un GTK#(par exemple) alors qu'un swing# est beaucoup plus facile, plus proche du systeme etc.

                    Ensuite si le programme est compile pur la JVM et non pour la VM .Net on a pas la portabilite binaire non plus.

                    C'est pour ca que j'ai du ma a voir l'interet du truc.

                    Kha

                    N.B pour une JVM completement libre ca se precise. la 1.0 est quasiment finie et la 1.1 bien entamee. Pur l'instant j'attend surtout de voir si java 1.5 (java3 ?) tiendra ses promesses. Si c'est le cas ce sera ca l'objectif a atteindre.
                    • [^] # Re: Mono 0.24

                      Posté par  (site web personnel) . Évalué à 1.

                      Ensuite si le programme est compile pur la JVM et non pour la VM .Net on a pas la portabilite binaire non plus.


                      Mais si, tu as la portabilité binaire sur une JVM... Et au dernière nouvelles, il y a plus de VM java que de VM .net....


                      allez -1 et je ===>[]
                    • [^] # Re: Mono 0.24

                      Posté par  (site web personnel) . Évalué à 2.

                      mais pourquoi implementer un GTK#(par exemple) alors qu'un swing# est beaucoup plus facile, plus proche du systeme etc.

                      Tu peux déjà programmer en GTK sous une JVM...

                      et aussi QT avec kde-bindings....
    • [^] # Re: Mono 0.24

      Posté par  . Évalué à 1.

      Utiliser un compatible PC, c'est encourager le monopole ms.
      • [^] # Re: Mono 0.24

        Posté par  . Évalué à 1.

        Parler de .. c'est encourager le monopole de ..

        (Merde, j'ai marché dedans)
  • # Re: Mono 0.24

    Posté par  . Évalué à 7.

    Mono se destine à porter la plateforme, mais pour executer un programme il manquera toujours l'Api.

    L'Api de M$ ne poura pas être porter vers GNU/Linux. Légalement ca m'etonnerait qu'ils acceptent, techniquement certaines fonctions n'ont pas d'équivelant (Manipulation de droits sur les fichiers qui dépendent du type de partition, Manipulation de la base de registre, Fonctionnement graphique comme la systray, etc... ).

    Donc les programmes ne seront (à mon avis) jamais totalement portable, ou alors on retombe dans les joies du C et de la compilation conditionnel.

    Bref, tellement peu d'interret que je retourne faire du Java !
    • [^] # Commentaire supprimé

      Posté par  . Évalué à -2.

      Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: Mono 0.24

      Posté par  (site web personnel) . Évalué à 3.

      Légalement ca m'etonnerait qu'ils acceptent,

      Pourquoi pas ? Il n'est pas dans l'interêt de MS d'être les seuls fournisseurs de cette API.

      techniquement certaines fonctions n'ont pas d'équivelant

      Ça n'est pas forcément insurmontable, Java a déjà été confronté au problème avec les différentes versions du JDK (embarqué, pas embarqué, Standard Edition, Enterprise Edition, etc...).

      Je crois que le principal obstacle est surtout que la lib standard .NET est énorme. Il faudrait une très grosse équipe à temps plein pour arriver à la refaire.
      • [^] # Re: Mono 0.24

        Posté par  . Évalué à 5.

        <i>> Pourquoi pas ? Il n'est pas dans l'interêt de MS d'être les seuls fournisseurs de cette API.
        Ben, si, justement ... Ya qu'à voir comment fait Sun avec Java. C'est pas un modèle d'ouverture ...
        • [^] # Re: Mono 0.24

          Posté par  (site web personnel) . Évalué à 2.

          On ne parle pas de la même chose. Il y a pleins d'autres implémentations de Java en plus de celle de Sun, les specs sont disponibles, et Sun encourage ces implémentations. Que Sun controle l'API de Java est un autre problème.
      • [^] # Commentaire supprimé

        Posté par  . Évalué à 2.

        Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: Mono 0.24

      Posté par  . Évalué à 4.

      « L'Api de M$ ne poura pas être porter vers GNU/Linux. »

      Et WINE, c'est quoi? Une sucette géante?

      « Légalement ca m'etonnerait qu'ils acceptent, »

      Ils ont pas vraiment leur mot à dire

      « techniquement certaines fonctions n'ont pas d'équivelant »

      Ça ne veut pas dire qu'on ne peut pas trouver une solution pour coder un équivalent

      « Manipulation de droits sur les fichiers qui dépendent du type de partition »

      WINE le fait

      « Manipulation de la base de registre »

      WINE le fait

      « Fonctionnement graphique comme la systray »

      WINE le fait

      « etc.. »

      WINE le fait aussi

      « Bref, tellement peu d'interret que je retourne faire du Java ! »

      C'est vrai, le Java a tellement peur d'intérêt... : p
      • [^] # Re: Mono 0.24

        Posté par  . Évalué à 1.

        Ils ont pas vraiment leur mot à dire

        L'api .NET est breveté.
        • [^] # Re: Mono 0.24

          Posté par  . Évalué à 0.

          C'est-à-dire? [url]?

          Sur ce sujet, et ailleurs, j'ai vu pas mal de personnes répéter ça, sans précision, détail ou explication supplémentaire que de dire « l'API est brevetée ». Or j'arrive mal à comprendre comment, même dans le système tordu USien (enfin, on va pas trop taper sur les USiens, à l'OEB ils valent pas mieux), on peut breveter une interface... Que certains procédés techniques accessibles par cette interface soient brevetés, je comprends que ça soit possible. Mais l'API elle-même?

          Tant qu'on m'explique pas en détail ce qui est breveté et comment, moi j'y crois pas. na.
          • [^] # Re: Mono 0.24

            Posté par  . Évalué à 1.

            C'est-à-dire? [url]?

            Dans le genre boulet t'es pas mal toi. Tu peux pas prendre tes petits doigts et chercher ? Ca a fait l'objet d'une news sur Linuxfr :

            http://linuxfr.org/2003/02/12/11331.html(...)

            Or j'arrive mal à comprendre comment, même dans le système tordu USien (enfin, on va pas trop taper sur les USiens, à l'OEB ils valent pas mieux), on peut breveter une interface...

            Non mais tu débarques ou quoi ? L'achat en 1 click a été breveté par amazon, le lien hypertext a été breveté (british telecom je crois), le xor est breveté ...
            alors une API ...
      • [^] # Re: Mono 0.24

        Posté par  (site web personnel) . Évalué à 2.

        Obtenir des fonctionnalites specifiques a Windows sous Linux est aussi amusant que de faire un "fork()" sous Windows (comme le fait cygwin): l'imitation sera en dessous de l'original car pas prevu pour au depart.
        • [^] # Re: Mono 0.24

          Posté par  . Évalué à 2.

          Sauf que .NET a quand même été pensé dans une optique multiplateformes, ils ne sont pas totalement fous non plus chez MS. Ne serait ce que pour ne pas être emmerdés le jour où le PC disparaitra, ou le jour où l'architecture de Windows sera totalement changée.

          Le seul point vraiment Windows-centrique dans l'affaire, c'est System.Windows, et en particulier SWF (System.Windows.Forms), et là Wine peut entrer en scène.

          C'est pour moi la principale faiblesse du .NET de MS: l'absence de GUI crossplatform. Et pour ca, il y'a GTK#, alors que demande le peuple? :)
        • [^] # Re: Mono 0.24

          Posté par  . Évalué à 2.

          Obtenir des fonctionnalites specifiques a Windows sous Linux est aussi amusant que de faire un "fork()" sous Windows (comme le fait cygwin): l'imitation sera en dessous de l'original car pas prevu pour au depart.

          une seule chose a dire : Samba.

          Kha
          qui peut le plus peut le moins meme si des fois ca prend du temps
      • [^] # Re: Mono 0.24

        Posté par  . Évalué à 1.

        Franchement, Wine c'est bien gentil mais on est tres loin d'une compatibilite a 100%. A la rigueur ca marche avec les DLL windows mais pour du pur Wine sans morceaux de Windows c'est pas encore ca.
    • [^] # Re: Mono 0.24

      Posté par  . Évalué à 2.

      L'Api de M$ ne poura pas être porter vers GNU/Linux.

      http://www.go-mono.com/class-status.html(...)

      Certaine partie pose problème, d'autre fonctionne déjà très bien... (ASP.NET est pas mal avancé parait il...).

      (Manipulation de droits sur les fichiers qui dépendent du type de partition

      Le problème se pose sous Win32: pas joué avec les droits sur du fat, etc... ensuite, faire un outil d'administration de système de fichier portable, y'a comme un truc qui m'échape ;-)

      , Manipulation de la base de registre,

      Ne fait pas partie du framework.

      Fonctionnement graphique comme la systray, etc... )

      Visiblement c'est en cours, ceci dit, dans ce genre de truc la question n'est pas si ça va fonctionner ou pas, mais comment représenter une fonctionnalité analogue (et si c'est utile), sous Win32 la systray (qui officiellement s'appelle zone de notification) est très souvent mal utilisé, en principe elle n'existe que pour prévenir d'un évenement (connexion d'un périphérique USB, connexion à internet, déconnexion, etc...), sous gnome et kde (et bcp d'autre, mais ce sont les premiers qui me viennent à l'esprit quand on parle linux et desktop) tu peux avoir une fonctionnalité équivalente... et c'est là que ça peut devenir intéressant: permettre de faire qqch en tenant compte du système utilisé...

      Enfin, avis perso, même si .NET n'est jamais compatible entre mono et microsoft, si mono fourni une implémentation performante de .NET, ça restera sympathique, même pour faire des programmes absoluement non portable (non portable sous windows s'entend!).
  • # Re: Mono 0.24

    Posté par  . Évalué à -2.

    viva perl
  • # Re: Mono 0.24

    Posté par  (site web personnel) . Évalué à 1.

    Il y a aussi DotGNU http://www.dotgnu.org/(...)

    Je ne connais pas bien les différences par rapport à mono, ceci dit.
    • [^] # Re: Mono 0.24

      Posté par  . Évalué à 3.

      Mono c'est une implementation de .net, alors que dotgnu c'est autre chose, un autre framework, mais reprennant l'esprit et les idees de .net.

      En gros, dotgnu veut se poser en concurrent de .net alors que mono c'est .net sous Linux.
  • # promouvoir Java plutot que C#

    Posté par  (site web personnel) . Évalué à 3.

    Il est communement admis que l'on programme 50% plus vite en Java qu'en C++ avec au final un code plus propre et moins de bugs d'ou un reel interet (ne parlons meme pas du C).
    Mais qu'en est-il de C# ? C'est logiquement mieux car ils ont beneficie des erreurs du passe (Java date de 1995), mais c'est mieux de "combien" par rapport a Java ?
    Si ce fameux combien est de "5%" es-ce que ca vaut le coup de re-apprendre, d'abandonner ces habitudes et les outils performants ? On ne peut pas se permettre d'abandonner un langage pour un nouveau sous pretexte que celui est 5% mieux, en revanche une fois tous les 15 ans ca fait pas de mal ;)

    Pour moi ca vaut pas le coup par rapport au peu d'avantages que ca procure (sans compter tous les inconvenients: faire confiance a Microsoft, peu repandu, pas encore d'outils, encore des bugs car jeune...).

    Mon avis est qu'il faut mieux promouvoir des choses comme gcj plutot que Mono:
  • Java est promu par Sun et j'ai 10x plus confiance en Sun que Microsoft
  • Java est repandu, bien connu et etudie:
    - il y a beaucoup de livres dessus
    - les etudiants apprennent tous ce langage
    - c'est tres utilise en entreprise
    - on connait les avantages et les inconvenients de ce langage

    pour avoir un ordre d'idee il y a 8661 projects en Java sur Sourceforge (10812 en C et 10490 en C++ cf http://sourceforge.net/softwaremap/trove_list.php?form_cat=160(...) )
  • Il y a deja pleins d'outils libres/proprios pour Java (Eclipse, Ant, Tomcat, Jakarta, JBoss, Xerces, gcj, JUnit, JBuilder, Together ect...)
  • beaucoup de logiciels libres ont ete developpe en Java
  • Java evolue et de nouvelles fonctionnalites sont ajoutees (templates dans jdk 1.5)

    Le seul avantage a mes yeux de C# sur Java est qu'il est standardise.
    Mais Microsoft va-t'il faire evoluer le standard comme ca se fait pour C++ ou au contraire va-t'il y avoir un decalage important entre le standard et le C# utilise tous les jours (celui de Microsoft) ?
    Un standard n'est interessant que si les gens l'utilisent, le C# standardise est probablement un coup d'annonce pour se faire de la pub de la part de Microsoft plutot qu'une reelle volonte de s'ouvrir.

    Je pense que la communaute du libre a besoin d'un langage moderne pour remplacer le C++ et encore plus le C et ce langage a plus d'avantages a etre Java que C#
    Si maintenant on pouvait avoir des bindings performants, sans bugs de GNOME et KDE pour Java avec un bon compilo derriere ca serait le pied: le developpement de logiciel libre avancerait plus vite et probablement plus de personnes joindraient l'aventure.

    --
    Tanguy qui essaye d'utiliser le binding Java de KDE
  • # N'importequoi.net !

    Posté par  . Évalué à 4.

    C'est de la pure propagande pro MS ! Non, mono n'est pas l'implementation libre de MS.net, tout simplement car il n'existe pas de spec complete de MS.net !!!! Ce qui a été (habilement) standardisé à l'ECMA (et en cours à l'ISO) c'est une SOUS PARTIE seulement de l'ensemble. Tout ceci reste du pipotage, et le seul but avoué de l'ensemble est de conforter Windows comme plateforme de référence du poste de developpement et d'eloigner toute alternative. Non mono n'est pas une implementation de .net et non, mono n'est pas une alternative à d'autres solutions libres (PHP/JBoss ...) ! Si le FUD comercial de MS arrive meme ici ou va-t-on ? dotNet ne sera JAMAIS disponible sur une plateforme non krosoft, dixit balmer qui a été clair sur le sujet ! Quand au portage eventuel, c'est niet etant donné qu'il n'y a aucune ouverture du code envisagé ! Enfin, une réecriture avec compatibilité (telle qu'envisagée par mono) est illusoire, sans code de reference et sans spec détaillée de l'ensemble des élements ! Une seule question reste : Qui peut encore croire à de tels "pipotages.net" ?
    • [^] # Re: N'importequoi.net !

      Posté par  . Évalué à 2.

      Quand au portage eventuel, c'est niet etant donné qu'il n'y a aucune ouverture du code envisagé ! http://msdn.microsoft.com/msdnmag/issues/02/07/SharedSourceCLI/default.aspx sans spec détaillée de l'ensemble des élements ! http://msdn.microsoft.com/library cherche, tu vas trouver...
    • [^] # Re: N'importequoi.net !

      Posté par  . Évalué à 3.

      Ce qui a été (habilement) standardisé à l'ECMA (et en cours à l'ISO) c'est une SOUS PARTIE seulement de l'ensemble. Tout a fait exact, mais cela suffit. Le probelem est de faire la difference entre trois choses distinctes et qui portent le meme nom : - la plateforme de developpement - les API de programation - la machine virtuelle .Net Si j'ai bien suivit les API sont brevetes, donc essayer de les copiers sans authorisation revient a laller faire un tour en prison. La plateforme de developpement c'est tout sauf grave, on s'en passe tres bien (perso mon outil de dev favori en ce moment c'est Jedit, mais Emacs et Vi font tres bien l'affaire a ce qu'on m'a dit). En ce qui concerne la machine virtuelle .Net la quasi totalite de celle-ci est normalise, et il est donc possible de faire une implementation parfaitement fonctionelle. On risque d'arriver a l'abberation suivante : les sources ne seront pas transposables d'un environement a l'autre, mais par contre les binaires le seront. Il faut bien se rendre compte que MS essaye a tout prix de s'imposer sur le marche serveur, son produit MS Serveur 2003 fait un peu office de va-tout a ce niveau. Je trouve au contraire que c'est un tres beau pied de nez que d'implementer les idees de MS sur toute une variete de plateforme. La pub MS en ce moment aux US explique de facon un peu allegorique qu'avec .Net on peut ecrire un ERP completement adapte aux besoins d'une grande entreprise en moins de deux mois (beaucoup rigole sur ce coup la). Et moi perso il n'y aurait rien qui me ferais plus rire qu'une boite qui develloperait des composants en MS.Net avant de les deployer en production sur une plateforme unix-like. Kha
      • [^] # Re: N'importequoi.net !

        Posté par  . Évalué à 1.

        <i>> La pub MS en ce moment aux US explique de facon un peu allegorique qu'avec .Net on peut ecrire un ERP completement adapte aux besoins d'une grande entreprise en moins de deux mois C'est le principal argument commercial de Microsoft, et ce, depuis toujours : Windows (et tout ce qui va avec), est facile. Grâce à cette formidable stratégie de communication, on a aujourd'hui des gens qui prétendent s'y connaître en informatique et qui trouvent que c'est de la paranoïa de ne pas travailler sur le compte Administrateur/Root en permanence, entre autres ... Tiens, voilà pourquoi Windows est facile : http://pinsa.escomposlinux.org/sromero/linux/pringao/techslacky.html :)
  • # Re: Mono 0.24

    Posté par  . Évalué à 3.

    Ah, en voilà une discussion bien intéressante, car à mon avis elle
    touche à des problèmes fondamentaux de l'informatique moderne et
    du logiciel libre : quel language(s) ? quel api(s) ? portabilité ?

    Tout d'abord, je pense que l'effort Mono est un cul de sac. J'ai lu
    récemment une interview (sorry, impossible à retrouver...) ou quelqu'un
    disait que la communauté du libre devrait moins passer de temps à
    clôner et plus à inventer. Je suis 100% d'accord avec ça.

    C'est vrai que parfois le "clônage" a du bon, surtout pour se mettre
    à niveau et rendre le libre "intéressant". Par exemple Open Office
    a en partie cloner Ms Office, mais maintenant chaque release de OO
    apporte son lot de nouveautés innovantes (source SGBD partout, export
    PDF...) et se démarque de plus en plus.

    Et notez que les logiciels vraiments connus, impressionants du libre
    sont des logiciels qui ne clônent pas, mais qui innovent. Mozzila
    par exemple, avec le tab browsing, le filtrage bayesien de spam.

    Alors quel est l'intérêt pour une communauté libre de clôner (ou
    d'implémenter, appellez ça comme vous voulez) une plateforme Microsoft ?
    Est-ce que l'effort ne serait pas mieux placé dans le développement
    de logiciels libres innovants et utiles ?

    Il a été dit que cela permettra d'effectuer des developpements
    portables plus facilement. Il existe déjà pour celà de (très) nombreuses
    solutions plus ou moins libre. Java bien sûr (je vais y revenir),
    mais aussi QT (oui je sais sous Windows c'est payant... mais si vous
    pouvez payer pour l'operating system et le compilateur, vous pouvez
    surement payer pour l'API, non ?), GTK, wxWindows, et j'en passe.

    De plus, il ne faut pas se leurer. Ca ne plaira pas à Microsoft de
    voir des applications faites pour .Net marcher aussi bien sous GNU/Linux
    que sous Windows. Et il fera son possible pour l'empêcher. Le dépôt
    des brevets sur l'API est là pour ça. Il peut aussi changer les APIs
    régulièrement de sortes que la communauté libre ne pourra pas suivre.

    Il a été dit que ça ne se passera pas comme ça, car :
    NET est un produit commercial, déjà en production sur certains sites, ms
    n'a donc plus la possibilité de changer du tout au tout...

    Et pourtant... IIS/ASP est un produit commercial, déjà en production sur
    de très nombreux sites, et MS ne se gène pas pour le mettre à la poubelle
    et annoncer à ses grands comptes officiellement que cette plateforme
    est remplacée par la .Net chose et ne sera plus supportée dès 2005.

    Mais revenons aux alternatives. Il a été dit beaucoup de choses sur
    Java, notemment "Java est promu par Sun et j'ai 10x plus confiance en
    Sun que Microsoft" ou "Java n'est pas propriétaire". Je ne suis pas
    d'accord. Pour moi, Sun est le "Microsoft de l'Unix". C'est certes moins
    visible car la position de monopole n'est pas là, mais le comportement
    s'en rapproche.

    Eh oui, il faut voir les choses en face, Java est propriétaire. Ok, la
    spécification est publique, mais l'implémentation ne l'est pas du tout.
    Alors peut être que de nombreux projets libres comblent le vide
    (GNU classpath, jikes, GCJ, ...) mais c'est tout comme Mono vis à vis
    de .Net, c'est de l'effort passé par la communauté libre pour implémenter
    (clôner, quoi) une plateforme propriétaire.

    Mais au final, qu'est que nous recherchons dans .Net, Java... c'est
    une combinaison de plusieurs choses : Langage, API, Outils qui nous
    permettent de développer des applications portables sur les trois
    plateformes principales (GNU/Linux sur divers matériels, MacOSX et
    MsWindows).

    Et là je rejoins les défenseurs de Java. Le langage est relativement
    propre (même s'il est très pauvre, malheureusement, mais ça s'améliore
    avec le temps, cf l'ajout d'une forme peu développée de généricité dans
    le 1.5), avec une des APIs les plus complètes à l'heure actuelle et
    à la portabilité très raisonnable (à condition de ne pas faire n'importe
    quoi).

    Mais Java a ses gros défauts. C'est un glouton de mémoire, c'est parfois
    très lent et surtout... ce n'est pas utilisé dans la "vraie vie" !! Ok,
    il y a beaucoup de projets Java sur SourceForge, mais il suffit de
    regarder ce que sont ces projets
    ça peut être
    un peu lent parfois, c'est propriétaire. Alors que faire d'autre ?

    Autres choix de langages. Il y a des "vrais" langages dans la nature,
    je veux dire des langages qui ont été réfléchis, fait pour faire
    du "gros" logiciel fiable. En comparaison (et ça a été dit), C, C++,
    Java, C# et autres ne sont que des "jouets". Je veux bien sûr parler
    de ADA95 et de EIFFEL (et peut être d'autres que je connais moins).
    Et la supériorité de ces langages est réelle. Ce n'est pas du "sucre
    syntaxique", mais bien une façon différente de penser l'informatique.

    Malheureusement, ADA95 souffre du manque de librairies dans beaucoup
    de domaines, quand à EIFFEL, sa communauté de développeurs tends vers
    le zero absolu (signe des temps, le livre de référence "Eiffel, The
    Language" est épuisé et introuvable, à part en occasion...).

    Alors à mon avis, la communauté du libre aurait bien besoin de
    se fédérer autour d'un environnement plustôt que de s'éparpiller sur
    de multiples projets (Mono étant un de plus dans la longue liste,
    et probablement le moins intéressant). Et même s'il y a les briques
    de base pour cet environnement (encore faudrait-t-il "choisir" parmis
    QT, GTK, wxWindows, GnuStep...), l'environnement complet n'est pas là
    (par exemple, une application GNOME ne sera pas bien intégrée sous
    Windows).

    En fait, il y a problement une erreur dans la façon de perçevoir
    le problème. On parle tous d'APIs et quelqu'un disait ici que porter
    .Net sous GNU/Linux doit être aussi rigolo que de porter fork() sous
    Windows. Mais ce que veut un développeur d'application ce n'est ni
    "fork()" ni "WM_PAINT", il veut une API simple pour lancer un autre
    process et une façon simple de peindre dans une fenêtre.

    L'environnement idéal devrait être plus "haut niveau" et dans bien
    des domaines QT et GTK sont bien placés de ce point de vue. Reste
    que ces outils sont basés sur des langages pas très joli-joli.
    Développer tout en C à notre époque équivaut quand même à faire table
    rase de 20 ans (au moins) de progrès informatique. Et développer
    en C++ impose un lot de contorsions, de problèmes de compilation,
    de lenteur de compilation et de bugs obscurs.

    Tout ça pour dire que les efforts passés dans Mono ou dotGNU seraient
    mieux placés dans le développement d'une plateforme de développement
    libre qui apporterait quelque chose d'équivalent à QT et GTK, portable
    et basé sur un langage digne de ce nom (ne me demandez pas lequel,
    je ne sais pas, mais en tout cas ce n'est ni Java ni C# ni C ni C++).
    Ah oui, il faudrait que cette plateforme soit "native" (i.e. *pas*
    basée sur une machine virtuelle) pour offrir les performances que
    l'on attends des logiciels "qui marchent".

    Un travail énorme, que personne n'a encore démarré, en partie à
    cause de la dispersion dans tous ces projets inutiles.

    Eric Nicolas
    http://www.nosica.net/(...)
    • [^] # Re: Mono 0.24

      Posté par  . Évalué à 1.

      Et l'ObjectiveC de GNUstep ne te va pas ? Car au niveau intégration à un Unix, MacOS ou Windows, c'est pas mal du tout, GNUstep.
      • [^] # Re: Mono 0.24

        Posté par  . Évalué à 1.

        Je vois pas mal de référence à Objective-C dans ces posts. Pour moi qui ait un Mac mais ne programme pas, Objective-C, c'est le C de Apple, parce qu'il ne veulent jamais faire comme les autres et pensent que le solution « à eux » est meilleure que celle des autres.

        Apparemment, je me trompe (je vois « GNUStep », « Obj-C, c'est bien »…)

        Quelqu'un pourrait-il me dire ce que vaut Ojj-C par rapport heu, au reste ? CPeut-on imaginer que Cocoa sera multi-plateforme ?

        Et LA question : quelle est la durée de vie d'un thread sur DLFP ? Parce que s'il faut poster dans les 3 heures pour être certain que quelqu'un lira, autant que j'arrête les frais.
    • [^] # Re: Mono 0.24

      Posté par  (site web personnel) . Évalué à 3.

      Eh oui, il faut voir les choses en face, Java est propriétaire. Ok, la
      spécification est publique, mais l'implémentation ne l'est pas du tout.


      Putain, mais c'est incroyable de continuer à lire des conneries pareilles. Une grande partie de l'implémentation de Java est libre, point final. Par exemple, toute la partie XML du jdk 1.4 (versions se et ee) vient du projet apache. C'est très clairement indiqué dans la doc et la licence. Il s'agit de l'implémentation de référence, pas d'un clonage. De même, la meilleure implémentation des web services en Java (les api JAXRPC, entre autres) est clairement Axis qui est en avance sur Sun sur ce point. L'implémentation de référence des JSP et servlets est Tomcat, logiciel open source du groupe apache ! La spécification J2EE 1.4 est en cours d'implémentation par deux projets open source, JBoss et JOnAS qui implémentent déjà l'intégralité de J2EE 1.3, c'est-à-dire l'ensemble des api ajoutées à l'édition standard. La partie graphique spécifique au système du jdk 1.4 passe sous unix de motif à GTK dans l'implémentation de référence.

      Mais Java a ses gros défauts. C'est un glouton de mémoire, c'est parfois
      très lent et surtout... ce n'est pas utilisé dans la "vraie vie" !!


      Sort de ton trou ! Ce n'est pas un répétant une connerie qu'elle devient vraie. Le site web de la SNCF est en Java (EJB), celui de Chronopost aussi. Les exemples sont légions. Et je ne parle pas simplement de la partie présentation (JSP servlet), mais bien sûr de la partie métier et de l'interfaçage avec les gros systèmes qui tournent derrière. Sur le serveur, Java est utilisé massivement. Autre exemple, j'ai participé à un appel d'offre gagné par une entreprise pour refaire le système de billeterie de la fnac (fance billet et billetel), le plus gros système de ce genre en France, et devine quoi, on va le faire en JAVA !!!!


      Ah oui, il faudrait que cette plateforme soit "native" (i.e. *pas*
      basée sur une machine virtuelle) pour offrir les performances que
      l'on attends des logiciels "qui marchent".


      C'est marrant les gens qui se la petent avec Eiffel super bien conçu, etc. et qui ensuite font "table rase" des énormes progrès réalisés par les machines virtuelles. Les machines virtuelles avec leur JIT offrent des performances excellentes, souvent meilleures que le code compilé. Elles peuvent en effet réaliser des optimisations basées sur le profil d'utilisation d'une méthode, chose impossible à faire sans VM, comme par exemple un inlining de méthode quand le besoin s'en fait sentir. De plus, le byte code extrêmement contrôlé permet des optimisations et une adaptation au hardware. Il est remarquable de voir que pour du calcul matriciel par exemple, la JVM d'IBM est capable d'obtenir des performances environ 2 fois inférieures à celle de la bibliothèque MKL d'intel implémentée en assembleur et adaptée à l'architecture physique de chaque CPU (en particulier la taille du cache). Par rapport à une implémentation naïve de calcul matriciel (en C ou C++), une bibliothèque évoluée comme COLT peut être 300 fois plus rapide, grâce aux algorithmes utilisés, mais aussi grâce à l'excellence de la JVM d'IBM, qui est capable par exemple de supprimer au vol les tests de débordement d'un tableau quand le prouveur de byte-code intégré démontre que les tests sont inutiles.
      • [^] # Re: Mono 0.24

        Posté par  (site web personnel) . Évalué à 1.

        Oué enfin voilà quoi : y'a encore des trucs propiétaires... le problème est toujours présent...
        et reste que le Java a des lacunes : impossible de gérer les pointeurs : "Sécurité" !! oui mais des fois c bien pratique : c bizzare, quand j'essai en C# (sous ms.NET) de manipuler les pixel d'une image avec les routines dispo, je vais environ 40 fois plus vite avec un accès direct par pointeur...
        • [^] # Re: Mono 0.24

          Posté par  (site web personnel) . Évalué à 1.

          Oué enfin voilà quoi : y'a encore des trucs propiétaires... le problème est toujours présent...

          En effet, je ne dis pas le contraire. Mais lire que l'implémentation n'est pas du tout libre, c'est pénible parce que c'est faux.

          et reste que le Java a des lacunes : impossible de gérer les pointeurs : "Sécurité" !! oui mais des fois c bien pratique : c bizzare, quand j'essai en C# (sous ms.NET) de manipuler les pixel d'une image avec les routines dispo, je vais environ 40 fois plus vite avec un accès direct par pointeur...

          Je ne comprends rien à ton post. Tu parles de java ou de C# ? Si les routines de manipulation d'image en C# sont mauvaises, je ne vois le rapport 1) avec les pointeurs, 2) avec Java. En Java, la version 1.4 a apporté beaucoup de nouvelles choses pour la manipulation des images et tu peux bien sûr les manipuler pixels par pixels de façon très efficace, en accédant directement au raster.

          Le lien que tu fais entre pointeurs et efficacité me semble tout à fait hasardeux, soit dit en passant...
      • [^] # Re: Mono 0.24

        Posté par  . Évalué à 4.

        Euh, d'abord quel besoin d'être agressif et grossier ?

        Ensuite, la discussion (et LinuxFR) porte sur le logiciel libre. Et je persiste à dire que je ne connais pas d'application utile, libre et écrite en Java. Les seules choses libres en Java que je connaisse sont des outils... pour développer en Java !

        Alors ok, tu me parles de grands systèmes d'information et de site webs en Java, c'est très bien, mais ce n'est pas du logiciel libre tout d'abord, et ensuite c'est fait par et pour des sociétés qui peuvent se permettre de dépenser des millions (d'euros!) en matériel de pointe et en piles de serveurs dans des data centers pour compenser la différence de performances de Java.

        La pluspart des entreprises (et encore plus des particuliers) n'ont pas ces resources et veulent pouvoir exploiter le peu de puissance qu'ils ont (cpu & mémoire) au mieux.

        En bref, j'attends qu'on me montre une application utilisable par le grand public (genre Open Office, Mozilla, MPlayer...), qui soit du logiciel libre et qui soit en Java. Pour l'instant je n'en ai pas vu. D'où ma remarque.

        Enfin, je ne suis pas tout à fait d'accord avec tes remarques sur le calcul mathématique. En effet, certes les librairies les plus performances sont en assembleur, mais il existe également des librairies écrites dans des langages de haut niveau avec des techniques de programmation modernes qui battent souvent les codes écrits à la main. Exemple: Blitz en C++, à patir du template metaprogramming, va plus vite que le LAPAC qui a été codé à la main (et ici je parle bien de "plus vite" pas "2 fois moins vite" comme toi).

        Alors c'est effectivement vrai qu'une JVM peut optimiser au runtime de certaines façons qui sont impossible à voir pour un compilateur C ou C++, mais par contre je te fais remarquer que ces optimisations sont possible pour un compilateur Eiffel car il dispose de la possibilité d'effectuer l'analyse globale du code.

        Donc tant mieux si les machines virtuelles progressent, cela permet de diminuer l'écart de performances entre un code compilé et un code interprété, mais cet écart existe toujours et cela restera un fait.
        • [^] # Re: Mono 0.24

          Posté par  (site web personnel) . Évalué à 2.

          Euh, d'abord quel besoin d'être agressif et grossier ?

          Ok, désolé. Cependant, ça devient insupportable de répondre toujours au même FUD. Donc toutes mes excuses pour l'aggressivité, pas pour le qualitificatif "conneries pareilles".

          mais ce n'est pas du logiciel libre tout d'abord

          C'est sûr que le site de la SNCF n'est pas libre, mais bon, on s'en fout un peu. Par contre, ce qui est plus remarquable, c'est que Chronopost utilise en partie JBoss.

          des sociétés qui peuvent se permettre de dépenser des millions (d'euros!) en matériel de pointe et en piles de serveurs dans des data centers pour compenser la différence de performances de Java.

          C'est de l'humour ? Le matériel de pointe en question, ce sont surtout les 4Go de mémoire par serveur, à part ça, je te fais remarquer que ce qui coûte cher, ce n'est pas le matériel, mais les programmeurs. Et vu l'efficacité pour le développement de framework comme .Net ou J2EE, la boite gagne. Quand nous avons remporté l'appel d'offre, tout était bien entendu pris en compte, les serveurs comme le coût de développement. Tient d'ailleurs, j'ai oublié de dire que notre solution est entrièrement basée sur de l'open source, excepté la JVM...

          Blitz en C++, à patir du template metaprogramming, va plus vite que le LAPAC qui a été codé à la main

          Sauf que c'est du pipot intégral. Je connais les benchs, ils sont réalisé contre l'implémentation basique toute pourrie de BLAS et LAPAC, pas contre une implémentation haut de gamme comme la MKL d'Intel ou Atlas (open source). Par contre, les benchs dont je te parlais sont deux de COLT contre MKL et Atlas... Alors oui, Blitz c'est sympa, mais c'est un gadget pour faire du calcul matriciel efficace, contrairement à COLT. Bien sûr, tu peux vraisemblablement utiliser Blitz au dessus d'une implémentation efficace de BLAS, mais c'est aussi possible en Java. L'intérêt de COLT, c'est que c'est 100% pur Java.

          je te fais remarquer que ces optimisations sont possible pour un compilateur Eiffel car il dispose de la possibilité d'effectuer l'analyse globale du code.

          En effet, comme en Sather, et dans une certaine mesure. Sauf qu'à ma connaissance, la décision d'inlining est prise en se basant sur des critères heuristiques de complexité de la méthode, alors qu'avec un JIT, tu peux faire des évaluations par chronométrage. De plus, dès que l'analyse globale laisse un doute (à cause de la covariance en Eiffel, par exemple), tu ne peux plus inliner. Avec un JIT, on peut imaginer maintenir deux codes, une version inlinée parce qu'en général on doit utiliser celle-ci et une version sans inline quand on détecte (par un simple test de plus) qu'en fait l'objet passé n'est pas du bon type.

          Donc tant mieux si les machines virtuelles progressent, cela permet de diminuer l'écart de performances entre un code compilé et un code interprété, mais cet écart existe toujours et cela restera un fait.

          Bien entendu, mais les machines virtuelles compilent le code au vol. Pour une application qui tourne longtemps, elles peuvent battre la compilation statique...
          • [^] # Re: Mono 0.24

            Posté par  . Évalué à 1.

            >C'est sûr que le site de la SNCF n'est pas libre, mais bon, on s'en fout un peu.

            Oui et puis le site de la SNCF tu m'excusera, ce n'est pas terrible terrible .....

            >Par contre, ce qui est plus remarquable, c'est que Chronopost utilise en partie JBoss.
            Avec une JVM libre ?
            • [^] # Re: Mono 0.24

              Posté par  (site web personnel) . Évalué à 2.

              Oui et puis le site de la SNCF tu m'excusera, ce n'est pas terrible terrible ....

              C'est marrant, parce que personnellement, je suis d'accord, mais les enquêtes de satisfaction commandées par la SNCF semble prouver que le site est très apprécié des utilisateurs. Comme quoi...

              Avec une JVM libre ?

              Au dernières nouvelles (mailing list de classpath), ce n'est pas encore possible, il y a quelques problèmes liés au chargement dynamique des classes, qui est une des parties les plus subtiles de Java. De toute manière, aucune JVM libre n'est complètement compatible avec le jdk 1.2, donc...

              Comme je percois une pointe d'ironie dans ton post (!), j'en profite pour redire pour la centième fois que je trouve insupportable de lire que Java est propriétaire car c'est faux. Cependant, je ne dis pas que Java est libre car c'est tout aussi faux. Par contre, je pense que la plateforme est beaucoup plus libre que .NET car Mono semble beaucoup plus en retard sur le .NET de MS que l'ensemble des projets libres Java sur SUN (et s'en entrer dans les considérations liées aux brevets etc.).
            • [^] # Re: Mono 0.24

              Posté par  . Évalué à 1.

              le site de la SNCF a ete elu par je ne sais plus quel mag/e-zine meilleur site commercial de l'annee...

              Hem !
              c'est l'un des site "pro" les plus lents et les moins conviviaux qui trainent sur le net.
    • [^] # Re: Mono 0.24

      Posté par  . Évalué à 0.

      Et notez que les logiciels vraiments connus, impressionants du libre
      sont des logiciels qui ne clônent pas, mais qui innovent. Mozzila
      par exemple, avec le tab browsing, le filtrage bayesien de spam.


      Euh, Mozilla c'était avant tout un fork de netscape. Alors coté clone, il se posait la. Et de même pour gimp, sylpheed et bien d'autres.

      Le truc c'est, un peu comme tu l'a dis, que les logiciels libres commencent par cloner, puis rajoutent leur propre sauce. Et c'est ce que fait Mono: il clone .NET, puis lui ajoute des choses nouvelles (les itérateurs, GTK#)
    • [^] # Re: Mono 0.24

      Posté par  (site web personnel) . Évalué à 0.

      Mais Java a ses gros défauts. C'est un glouton de mémoire, c'est parfois
      très lent et surtout... ce n'est pas utilisé dans la "vraie vie"


      Si "la vraie vie" pour toi c'est Source Forge, je te conseille de sortir un peu :-).
    • [^] # Re: Mono 0.24

      Posté par  . Évalué à 1.

      Tu te rends comptes que t'es en train, entre autre divagation (mozilla n'est pas un clone, java n'est pas utilisé, tous les langages sont très mauvais, IIS/ASP n'existera bientôt plus, ...) de comparer .NET à QT/GTK?... compare à la limite winforms à Qt/GTK, pas à tous .NET...
    • [^] # Re: Mono 0.24

      Posté par  . Évalué à 1.

      signe des temps, le livre de référence "Eiffel, The Language" est épuisé et introuvable, à part en occasion...

      Il ne risque pas d'être réédité en ce moment. L'éditeur attend la troisième version de l'ouvrage où, entre autres, est abordée l'introduction dans le langage de la notion d'agent. Notion déjà implémentée dans EiffelStudio et SmartEiffel.

      En principe, quand un livre est épuisé, c'est qu'il a du succès, non ?
      • [^] # Re: Mono 0.24

        Posté par  (site web personnel) . Évalué à 1.

        En principe, quand un livre est épuisé, c'est qu'il a du succès, non ?

        Pas vraiment. Si il a du succès, on refait un tirage.
        • [^] # Re: Mono 0.24

          Posté par  . Évalué à 1.

          Je me demande si mon obstination à ne pas utiliser les smileys (et laisser chacun trouver si ce que je raconte est sérieux ou si c'est une blague), ne finira pas par me causer du tort...-:)))))))))))))))))))))) Bon, là c'est peut-être un peu trop...
          • [^] # Re: Mono 0.24

            Posté par  (site web personnel) . Évalué à 1.

            Ben là comme ton argument avait une certaine logique ("ça se vend bien la preuve c'est que y en a plus"), y avait quand même un énorme doute. :-)
    • [^] # Re: Mono 0.24

      Posté par  (site web personnel) . Évalué à 2.

      Je suis d'accord (à 98% :-) avec tout ce que tu dis, mais je te trouve un peu pessimiste sur la question de la dispersion.
      La communauté du libre est tellement immense que peu importe si les initiatives sans lendemain foisonnent. Ce qui reste est énorme.
      Par exemple, je ne suis pas sur que nos bureaux sous Linus seraient meilleurs si Kde, Gnome et GNUStep ne faisaient qu'un.
  • Suivre le flux des commentaires

    Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.