OVH Cloud OVH Cloud

Mono / dotGNU : .NET pour Linux

183 réponses
Avatar
Sébastien Kirche
Bonjour à tous,

je sors agréablement surpris d'une semaine de formation sur .NET en
environnement M$.

J'y ai découvert la programmation en C++.NET (je développe en C/C++
traditionnel sur Mac au boulot et je bidouille sous GNU/Linux à la
maison).

Déjà voir que .NET faisait usage d'un compilo JIT m'a un peu fait revoir
mon appréciation négative sur .NET que je considérais (mal) comme Java
avec son code interprété.

Ensuite la surprise vient que le formateur (qui ne pratique pas Linux) a
su m'indiquer qu'il existait une implémentation pour Linux. Deux en fait
après avoir creusé le sujet : Mono (sponsorisé par Ximian/Novell) et
dotGNU.

Et l'agréable vient qu'après avoir bataillé avec des paquetages un peu
expérimentaux (tout n'est pas encore finalisé) j'ai pu voir que mes
programmes de test fonctionnaient directement sous Linux _et_ sous Win
avec le même exécutable (qui d'ailleurs est aussi un .exe sous Linux).

Tiens d'ailleurs pour ajouter à la surprise, le VB.NET est aussi en
cours de portage, ça fait un peu bizarre :)

Sinon on peut pour le moment partager du C# et de l'assembleur IL en
plus de VB (je pense que d'autres suivront mais je n'ai pas vu de c++)
et l'IDE que j'ai testé (MonoDevelop) bien qu'en v0.5 a l'air pas mal.

J'aime bien la complétion intelligente à la Visual Studio (qui àma est
la seule application vraiment valable chez M$ ;).

D'autres ont-il aussi testé .NET en cross-plateforme et qu'en
pensent-ils ?

Crosspost & Suivi prudent vers fr.comp.os.linux.debats
--
Sébastien Kirche

10 réponses

Avatar
alex
qui c'est le plus neuneu , celui qui veut ce prendre la tete avec des
pointeurs
qui n'ont un intére uniquement sur le gain d'un octe par variable (et
encore faut voir les optimisation des compilo)

ou celui qui s obstine a programme avec un langague "faux objet" pour la
simple raison qui a pas envie d'en aprendre un autre .

ni l'un ni l'autre mais si tu n'avais jamais programme avec pointeur ben ca
serai 10 fois plus facile sans .


"Julien BLACHE" a écrit dans le message de news:

(Michel Talon) wrote:

Oui l'idéal est de ne pas faire de C# du tout. J'ai entendu dire que sa
"part


de marché" est voisine de zéro sous Windows, la quasi totalité des
développeurs en étant resté aux bons vieux outils Visual Basic et C++.


Par contre, dans les écoles d'ingénieur, qu'est-ce que ça prend bien !
Y'a pas de pointeurs à gérer, c'est génial pour les neuneux infoutus
de comprendre le fonctionnement d'un pointeur. Sigh.

JB.

--
I WILL NOT HANG DONUTS ON MY PERSON
I WILL NOT HANG DONUTS ON MY PERSON
I WILL NOT HANG DONUTS ON MY PERSON
-+- Bart Simpson on chalkboard in episode 2F13



Avatar
alex
Sauf que C# est très supérieur à Java, et .NET supérieur aussi.
Résultat, Java est déjà mort (à moins que Sun ne le rende vraiment
libre?)


par curiositre en quoi ,
C# a quel avantage?


Jean-Baptiste Louis Grisset.



Avatar
Laurent BERNE
Bonjour,

Tu peux m'expliquer pourquoi il faudrait que j'utilise un produit qui est un
clone quasi parfait de Java, et dont le seul interêt est d'exister dans sa
version complète uniquement sous Windows, alors que je ne me sers jamais de
Windows? Il y a quand même des limites au masochisme. Je n'ai jamais vu un
seul benchmark sérieux montrant que C# est plus rapide que Java (pour
ne pas dire le contraire), quand aux pinaillages sur la généricité ou je ne
sais quoi, je m'en bas les flancs complètement. En fait j'hallucine
totalement quand je vois des gens habitués aux systèmes Unix et aux logiciels
libres se pencher ne serait-ce qu'un seul instant sur ce machin. Vous êtes
tous fascinés par Microsoft ou quoi? Je croyais que Miguel de Icaza était
le seul à avoir attrapé cette vérole ...


Là, il faut que je réagisse quand même..
Ce genre de remarque, venant de la part d'un universitaire,
SCIENTIFIQUE de surcroit.. est comment dire. .malvenue ?
Dans votre prose, j'ai lu beaucoup de "on dit", "je me suis laissé
dire"..
Je croyais que la remise en cause permanente, et la preuve
sciencitiquement démontrable étaient les fondements ...
C'est ce que m'ont toujours dits mes profs en tout cas. En faculté.
Scientifique bien sur...
Mais bon, nous sommes tous des êtres humains hein...

--
Ce n'est pas parce que tu touches le fond que tu dois t'arrêter de
creuser

Avatar
alex
"Emmanuel Florac" a écrit dans le message de news:



Et 300 développeurs médiocres en Perl/Python/Ruby, ça donne quoi par
rappart à 3 mecs compétents en Java ?



Ça n'existe pas. Les médiocres choisissent Java, c'est même une façon
pratique pour les reconnaître :)

Si c'était le langage qui attribuait les compétences, ça se saurait un
peu, hein.


Le langage n'attribue pas les compétences, bien sûr. Cependant dans les
grosses boîtes on n'embauche quasiment jamais les gens sur leurs
compétences (puisque c'est la DRH qui n'y connait rien qui sélectionne
les candidats), donc il faut employer des outils qui conviennent aux gens
médiocres, c'est à dire la plupart d'entre eux.

Les gens brillants ont tendance à se regrouper dans les petites
structures (ou éventuellement à fonder les grosses). Il arrive qu'une
grosse structure puisse attirer les gens compétents par sa réputation
(par exemple ça doit être le cas chez Microsoft), bien sûr.

C'est pour celà que les grandes innovations viennent de gens seuls ou de
petits groupes (au hasard Linux, GNU, ou même MIcrosoft en son temps,
google): les grosses boîtes sont condamnées à avoir une majorité de
médiocres à tous les postes et donc sont très peu productives en termes
d'idées.

Pour rejoindre donc Stéphane, les gens intelligents sont dans des PME,
les cons essaient de passer inaperçus dans de grands groupes (ou des
administrations, c'est pareil) rongés par la bureaucratie et
l'inefficience :)

--
In girum imus nocte ecce et consumimur igni



ca peu presque etre vrai ce que tu dit si ce n'est que la petit boite qui
marche devient grosse et la petite boite qui stagne reste petite .

donc conclution pour grandir il faut etre bon mais si on est grand on est
mauvais .


Avatar
talon
Sébastien Kirche wrote:
Le 28 mai 2005, Michel Talon vraute :

En fait j'hallucine totalement quand je vois des gens habitués aux
systèmes Unix et aux logiciels libres se pencher ne serait-ce qu'un
seul instant sur ce machin. Vous êtes tous fascinés par Microsoft ou
quoi?


Intérêt professionnel. À ne pas confondre avec mes convictions sur
l'usage d'un Unix.


Dans ce cas je m'incline, je n'ai rien à dire. Je suis béni par une profession
qui ne m'impose rien de tel. Sincèrement il me semble que si un client me
demandait conseil sur le choix entre Java et C# je lui conseiilerai tout à
fait honnêtement Java, simplement parceque Java ne le lie à rien du tout
là où C# le lie à Microsoft. L'introduction de Mono ne fait que diminuer la
force de cet argument, et donc est une calamité. Evidemment si le client
réclame C# la question ne se pose plus. Si dans le futur il se fait rançonner
à outrance par Microsoft il ne faudra pas non plus qu'il vienne se plaindre.



--

Michel TALON


Avatar
talon
Irvin Probst wrote:
On 2005-05-28, Michel Talon wrote:

En fait j'hallucine totalement
quand je vois des gens habitués aux systèmes Unix et aux logiciels libres
se pencher ne serait-ce qu'un seul instant sur ce machin. Vous êtes
tous fascinés par Microsoft ou quoi?


Peut-être que nous sommes tout simplement des gens ouverts d'esprits ?


Elle est où ton ouverture d'esprit à disserter sur les avantages supposés d'un
langage qui est exactement la même chose qu'un autre? Tu parlerais de
l'environnement, encore ça aurait une once de logique, je veux bien admettre
que tu préfères les librairies qui viennent avec C#, moyennant quoi tu es
pieds et poingts liés à Microsoft mais c'est ton problème. Je veux bien
admettre que tu dissertes à l'infini sur les avantages supposés de C#,
de python et de ruby, mais entre Java et C#, si l'un est une bouse l'autre
l'est aussi, et si l'un est génial, l'autre pareil. Ou alors tu veux toi aussi
faire un grand discours sur l'avantage phénoménal des génériques et des
autres innovations de C# ? En ce qui me concerne je suis pour la minimalité
sans concession, autant dire que c'est python qui me plait, même sans
"enum", dont on se passe sans la moindre difficulté, sans "switch", sans rien de
tous ces zigouigouis. D'ailleurs on voit régulièrement dans le code écrit
par les plus grands programmeurs, je veux dire le code de Linux ou de FreeBSD
la correction d'erreurs résultant de l'oubli d'un "break" dans un "case".
Autant dire à quoi ces constructions sont utiles. Ou peut être veux tu parler
de ce qu'il y a dans C# et qu'il n'y a pas dans Java 1.5, les pointeurs, et
le code "unsafe". Tu as le droit de penser qu'il s'agit là de bonnes choses,
je n'en pense rien, la plus grande utilité de ce type de langages étant
d'éliminer ces possibilités. Sinon autant faire du C.


Ou tout simplement on préfère baver sur des outils qu'on a testé au lieu
de se ridiculiser en tapant du pied par terre à chaque fois qu'on voit
Microsoft sur une boite.


Justement le début de la sagesse c'est de baver dès qu'on voit écrit
Microsoft ou IBM sur une boite. Ces gens là ne vivent qu'en endormant les
cons.




--

Michel TALON


Avatar
talon
Eric Masson wrote:

Ben dans ce cas, tu évites de tirer à boulet rouge sur ce que tu ne
connais pas, ce sera moins trollesque non ?


Je ne tire pas à boulet rouge sur C# mais sur Mono, pour une raison trés
simple, ç'est un immense avantage pour Microsoft et ça n'apporte rien
à ses concurrents. En quoi y a t'il besoin de connaître quoi que ce soit de
spécifique à C# pour faire cette assertion?

Dans la vraie vie, quand un client te demande un développement sur base
Windows, si tu lui réponds Linux et un outil dont il n'a jamais entendu
parler, tu n'as pas le taf et au pire tu te grilles pour tout contact
ultérieur.



Tu veux me faire croire que le client a entendu parler de C# et n'a jamais
entendu parler de Java? Il est où le pragmatisme, là?


De plus, je ne vois pas pourquoi quelque chose qui sort de chez
Microsoft ne pourrait pas être techniquement intéressant.


Il peut tout à fait, Microsoft a embauché les mailleurs programmeurs du monde.
Le problème n'est pas là, il est par exemple ici:

http://hardware.slashdot.org/hardware/05/05/28/1718200.shtml?tid8&tid5&tid7

Microsoft and the entertainment industry's holy grail of controlling copyright
through the motherboard has moved a step closer with Intel Corp. now embedding
digital rights management within in its latest dual-core processor Pentium D
and accompanying 945 chipset. Officially launched worldwide on the May 26, the
new offerings come DRM -enabled and will, at least in theory, allow copyright
holders to prevent unauthorized copying and distribution of copyrighted
materials from the motherboard rather than through the operating system as is
currently the case..."


Vous êtes tous fascinés par Microsoft ou quoi? Je croyais que Miguel
de Icaza

était le seul à avoir attrapé cette vérole ...


Vu tes positions sur KDE qui est un clone de l'interface utilisateur de
Windows, c'est au minimum amusant comme phrase, non ?


Pourquoi? Je prétends que Microsoft a réussi une interface utilisateur
de qualité. Je sais fort bien que vous dites tous le contraire, mais le simple
fait que > 90% des utilisateurs se soient laissés séduire prouve que votre
opinion est marginale. En fait c'est la seule chose que Microsoft a réussi,
tout le reste est médiocre. Est-ce qu'on renforce le monopole de Microsoft en
clonant cette interface? Evidemment non. Est-ce qu'on renforce le monopole de
Microsoft en clonant C# qui est pour le moment minoritaire devant Java,
évidemment oui. CQFD.


Éric Masson


--

Michel TALON


Avatar
talon
Laurent BERNE wrote:
Là, il faut que je réagisse quand même..
Ce genre de remarque, venant de la part d'un universitaire,
SCIENTIFIQUE de surcroit.. est comment dire. .malvenue ?
Dans votre prose, j'ai lu beaucoup de "on dit", "je me suis laissé
dire"..



Pourquoi, si on te dit que le plutonium a une durée de demi-vie
de 24000 ans, tu vas aller la mesurer toi-même de tes petits doigts dodus
au lieu de faire confiance aux gens qui l'ont mesuré pour toi, et se sont fait
irradier la tronche à ta place? La science ça consiste aussi à lire les avis
autorisés des autres, mais au moins à les lire, pas à venir raconter des
choses fantasmées sur Java qui serait le langage des cons, pour ne pas parler
de perl qui est le langage des génies. La seule chose que j'ai dite c'est que
C# et Java sont à epsilon prés la même chose, des langages trés voisins,
tournant sur des machines virtuelles de performance voisine, prétends-tu
que cette assertion est fausse? Si elle est juste, je maintiens que les
arguments d'opportunité que j'ai donnés sont justifiés.
Si C# tournait 100 fois plus vite que Java, ou permettait de coder avec
10 fois moins de lignes ou 10 fois plus vite, on pourrait arguer de ça
pour soutenir la nécessité de passer à C#. Seras tu celui qui va avancer
une chose de cette sorte? Là pour le coup il faudrait que tu justifies
solidement une telle assertion, parcequ'absolument personne ne la fait.
Les choses publiées montrent au mieux une équivalence.


--

Michel TALON

Avatar
Eric Jacoboni
(Michel Talon) writes:

La seule chose que j'ai dite c'est que
C# et Java sont à epsilon prés la même chose, des langages trés voisins,
tournant sur des machines virtuelles de performance voisine, prétends-tu
que cette assertion est fausse? Si elle est juste, je maintiens que les
arguments d'opportunité que j'ai donnés sont justifiés.


Cela dit, dans un cas bien précis : le déploiement d'applications web
(ce qui, tu en conviendras, n'est pas un petit marché), le peu que
j'ai vu me donne quand même à penser qu'une solution C# + aspx est
infiniment moins lourde qu'une solution Java + Tomcat (tu vas me dire
que ce n'est pas bien difficile...).

Si, donc, demain, je devais mettre en place ce type d'appli, je
regarderai peut-être dans cette direction (ou vers Php, ou vers Ruby
on Rails, d'ailleurs). Mais, heureusement, je n'aurai jamais à le
faire.

Si C# tournait 100 fois plus vite que Java, ou permettait de coder avec
10 fois moins de lignes ou 10 fois plus vite, on pourrait arguer de ça
pour soutenir la nécessité de passer à C#.


La rapidité d'exécution n'est pas tout : dans ta partie, je conçois
que cela soit important mais, dans d'autres situations, c'est vers une
plus faible consommation de ressources, vers une architecture moins
lourde que l'on se tournera. En ce cas, Java est hors course. Je
connais des admins pourtant peu suspects de MSmania qui te diront
qu'une solution .NET bouffe moins de ressources qu'une solution Tomcat
et qui, en attendant, sont contents lorsque les applis sont écrites en
Php plutot qu'en Java car ils en ont marre de voir leurs serveurs de
la mort qui tue s'écrouler à longueur de temps.

--
Éric Jacoboni, né il y a 1420768342 secondes

Avatar
talon
Eric Jacoboni wrote:
(Michel Talon) writes:

j'ai vu me donne quand même à penser qu'une solution C# + aspx est
infiniment moins lourde qu'une solution Java + Tomcat (tu vas me dire
que ce n'est pas bien difficile...).


Ca c'est sûr, Tomcat il faut beaucoup de mémoire. Les compilateurs JIT
consomment énormément de mémoire, y compris psyco pour python. Les gens de
Microsoft auraient-ils réussi à faire beaucoup mieux?
Clairement pour Java il faut au moins 1 Gig de mémoire pour commencer à
tourner raisonnablement. Les machins comme Tomcat démarrent avec une vingtaine
de threads et montent à beaucoup plus, donc un bon multiproc ne fait pas de
mal...


Si, donc, demain, je devais mettre en place ce type d'appli, je
regarderai peut-être dans cette direction (ou vers Php, ou vers Ruby
on Rails, d'ailleurs). Mais, heureusement, je n'aurai jamais à le
faire.



En tout cas je n'ai pas vu zope consommer radicalement moins de mémoire
que des choses similaires en Java ou aller plus vite. C'est bien
la même galère. Donc à fortiori je doute fort que ruby fasse mieux.

que cela soit important mais, dans d'autres situations, c'est vers une
plus faible consommation de ressources, vers une architecture moins
lourde que l'on se tournera. En ce cas, Java est hors course. Je


Ce que tu dis a l'air parfaitement justifié.


connais des admins pourtant peu suspects de MSmania qui te diront
qu'une solution .NET bouffe moins de ressources qu'une solution Tomcat
et qui, en attendant, sont contents lorsque les applis sont écrites en
Php plutot qu'en Java car ils en ont marre de voir leurs serveurs de
la mort qui tue s'écrouler à longueur de temps.



C'est peut être que php est la chose la plus adaptée quand on n'a pas de
grosses machines. Java c'est aussi quand même calculé pour inciter le
client à acheter du hardware costaud chez Sun ou IBM, mais comment diable
les programmeurs de Microsoft arrivent-ils à produire le même résultat
avec beaucoup moins de ressources?


--

Michel TALON