Liens connexes

Dépêche modérée par

Dépêche éditée par

: Mono 1.0 sous le feu des projecteurs

Posté par patrick_g (page perso, ). Modéré le 16 juillet 2004.
0
Mono est une plate-forme de développement qui propose une alternative libre à l'environnement .Net de Microsoft et qui met l'accent sur la compatibilité en s'appuyant sur la norme officielle de l'ECMA. Après la sortie le mois dernier de la version 1.0, on commence à voir fleurir sur le net des analyses techniques qui permettent d'apprécier les avantages de cette plate-forme et de les confronter avec les alternatives existantes.

Un article sur le site Arstechnica donne des exemples (et du code ; par exemple avec GTK#) et développe l'idée que ce framework offre des gages de rapidité de développement, du fait d'une grande simplicité.

> Lire la suite (177 commentaires, moyenne: 2,4).   [dépêche : 1403 caractères]

La conclusion de l'article esquisse une comparaison avec Java : « En quoi est-ce différent de Java ? A mon avis Java rend les choses plus difficile que nécessaire ». NdM : Ce dernier propos est en parfaite résonance avec ce qui semble être un des aspects majeurs de l'argumentaire des auteurs de Mono en faveur de leur produit. Il fait, en effet, penser aux déclarations agressives vis-à-vis de Java tenues par le leader du projet Mono, Miguel de Icaza, lors d'une interview donnée à News.com. Ainsi, selon Miguel de Icaza « Le problème avec J2EE est qu'il est devenu très, très académique et que la complexité de tous ces systèmes parfaitement conçus à l'université ne convient pas nécessairement quand vous avez des dates limites ».

Il est à noter que le projet GNOME est actuellement en phase de réflexion sur son avenir afin de faciliter et d'en accélérer le développement.
Le projet Mono est l'un des candidats envisagé mais il rencontre une grande résistance du fait de son « origine » Microsoft et des incertitudes sur les problèmes de brevets.
Une autre difficulté est qu'il sera, par essence, toujours en retard sur les dernières nouveautés de Microsoft comme c'est déjà le cas actuellement, selon l'aveu même du leader du projet Mono signalant que « Nous sommes en retard ; nous sommes très en retard ; nous avons 18 mois de retard par rapport à Microsoft ».

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

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

C'est un troll.

Posté par gc (page perso, ) le 16/07/2004 à 14:23. (lien). Évalué à 20.

C'est un troll ou quoi cet article d'Arstechnica ?

D'abord on peut lire :

Mono's main pull for developers is that it is cross-platform and makes writing applications very fast because of its extensive framework. Mono also has the concept of garbage collection. Gone are the days of using malloc() and free() and recording where you allocated memory and making sure you free() it. Java has GC as well, but Java never really caught on as an application language.

Gni ? Ça veut dire que l'auteur pense que Java n'a jamais été utilisé pour écrire des vrais programmes ? C'est du grand n'importe quoi.

Ensuite on nous présente un exemple de code, avec le morceau de bravoure suivant :

The great power of Mono and .NET lies in the ONE line of code:

    bool matches = Regex.IsMatch( input, regex );

.NET and Mono are actually a collection of libraries that form a framework which allows you, the programmer, to write the logic of your application. I can call one line of code to do input validation on a string which saves you possibly hours of time. Things like Input validation, network communication, file reading and writing, text encoding, regular expressions, formatting, XML Parsing, LDAP Access, remoting, and GUI development are reduced to just a few lines of code compared to possibly hundreds.


Euh, oui c'est sûr si on compare .Net à l'assembleur, c'est sûr qu'il faut une seule ligne par rapport à plein de lignes pour faire ça. Sauf que .Net vient chasser sur les terres de Java, hors en Java ça s'écrit en une ligne (et avec moins de caractères en plus).

    boolean matches = input.matches( regex );

Bon on se décourage pas on continue. On nous montre ensuite une belle page de Gtk#, bon on aime ou on aime pas, moi je trouve que le style impératif forcé de Gtk+ donne des fonctions illisibles et trop longues mais bon c'est pas le sujet. La conclusion est assez fantastique :

a commercial software provider would target Mono and it would "just work" on all platforms that Mono supported. How is this different from Java? In my opinion Java makes things harder than it needs to be. For starters, enforced exception handling can't auto-box/unbox primitive types and doesn't support arbitrary length parameter lists String.Format() style.

Alors le type a rien prouvé du tout vu qu'il n'a jamais comparé avec Java sauf à dire que en Java y'a pas d'applications, mais bon il se permet quand même de dire qu'en Java c'est trop dur (sous-entendu c'est plus simple en .Net ? oui mais où et comment ?). Ensuite il parle à la fois d'exception et des types primitifs, là j'avoue que je comprends pas le rapport, mais il pointe un problème effectivement de Java (la dualité int/Integer et compagnie qui est vraiment un truc chiant en Java) et ensuite nous parle de l'impossibilité d'appeler une méthode Format avec un nombre variable de paramètres.

Ok, donc, .Net est vachement mieux que Java parce que... y'a pas le problème des types primitifs de Java, et y'a des méthodes avec nombre variable de paramètres ? On est d'accords que ce sont des problèmes de Java mais si .Net compte là-dessus pour faire la différence ça laisse rêveur...

Il finit par :

The framework of Mono provides the ability to make a very tedious task in C/C++ almost trivial in C#. As the above example, RegEx, shows, it helps the programmer concentrate on the program itself, rather than the logic supporting the code.

Ouais bon d'accord mais ça on sait que la gestion automatique de la mémoire c'est une avancée importante, et qu'une bonne bibliothèque de base c'est capital. Bref, cet article ne montre aucun intérêt de .Net par rapport à Java, (alors que .Net est là juste pour tuer Java, ce qui est de notoriété publique)

Cependant, et pour adopter un point de vue plus utile à Linux et au logiciel libre, ça peut être intéressant de disposer d'un runtime libre (Mono), car en face il n'y a pas de runtime libre Java correct à ma connaissance - mais il ne me semble pas que ce point soit abordé dans l'article.