Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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
Thierry Boudet
On 2005-05-28, Sam Hocevar <sam+ wrote:

Tu dis ça parce que tu ne connais pas encore F# (qui roulaize).

Ah, avec les boucles DO tel que Dieu les a voulues ?


--
_/°< coin

Avatar
Julien BLACHE
(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
Eric Masson

Y'a pas de pointeurs à gérer, c'est génial pour les neuneux infoutus
de comprendre le fonctionnement d'un pointeur. Sigh.


Euh, ça finit par faire rite initiatique là. Ah tiens au passage tant
VB.Net que C# connaissent la notion de référence.

Pourquoi se faire chier à gérer les pointeurs et l'allocation de ram
quand il est possible de s'en passer. A ce sujet, le nombre de codeurs
ne jurant que par le C/C++ et infoutu de faire du code qui n'ai pas un
overflow quelconque par ci et une fuite de mémoire par là milite en ce sens

Que les langages de bas niveau aient leur utilité est indéniable
(système) mais en applicatif, pourquoi s'emmerder avec des outils qui
sont loin de simplifier la tâche du programmeur lambda.

Éric Masson

Avatar
p
Le Sat, 28 May 2005 11:33:38 +0000 (UTC) après l'an de grâce,
inspiré(e) Nicolas George <nicolas$ écrivait la plume
légère :

Sam Hocevar , dans le message
<slrnd9gggl.gui.sam+,
a écrit :
Tu dis ça parce que tu ne connais pas encore F# (qui roulaize).
C'est pas OCaml en moins bien, F# ?

Ça reste un ton en dessous de Gb


--
I'd like some JUNK FOOD ... and then I want to be ALONE --


Avatar
Antonio Bravo
Den Sat, 28 May 2005 15:47:56 +0200, skrev Eric Masson:


tout en continuant a assener le terme "portabilite", dont on voit mal a
quoi cela rime puisque la seule plateforme implementee c'est .NET...


Normal, puisque la plateforme portable c'est .Net.

Le CLR n'est lié à aucun langage en particulier, c'est juste un runtime
pour bytecode respectant les spécifications de la plateforme .Net



je suis pas assez intelligent.Je n'entends pas la meme chose par
"portabilite". Gcc existe pour Linux, NetBSD, Irix, Solaris, Windows, VMS,
etc. Et pour x86, sparc, mips, vax, etc. C'est cette portabilite qui
m'interesse.
Que .Net traduise un source ou un objet de n'importe quel language en un
bytecode qui produira toujours le meme resultat *sous Windows*, je ne vois
pas l'utilite.Je suis sous unix les 4/5 du temps...

"la plateforme portable c'est .Net":


??
comment utilise-je l'environnent .Net avec IRIX par exemple ?
S'il me faut me mettre a C#, alors MS est prie de me fournir le VM.
Pourquoi C# d'ailleurs, puisque d'apres MS en VisualGadget on peut obtenir
le meme resultat, puisque justement CLR/CLI ??

Mono est une implémentation du CLR etd'une partie des assemblages
disponibles sous l'implémentation native Microsoft sous Windows.

La portabilité est donc assurée là ou Mono est compilable (enfin
modulo l'utilisation d'assemblages portés eux aussi)



Mono n'est pas un projet Microsoft.
MS ne porte rien pour unix.
Java est porte par Sun sur unix et sur win32.
De Icaza se met en quatre pour porter un environnement que l'editeur
principal ne porte pas lui-meme.Faut croire que De Icaza a plus de temps
et d'argent que MS pour se livrer a cet exercise.


--
"Men alt dette er ikke begyndelsen.", Knut
HAMSUN,"Mysterier"- 1892
____________________GPG/PGP key ID:0x24ADF724______________________


Avatar
Eric Jacoboni
Antonio Bravo writes:

??
comment utilise-je l'environnent .Net avec IRIX par exemple ?


Mono ne se compile pas sous Irix ?

S'il me faut me mettre a C#, alors MS est prie de me fournir le VM.


Si Mono tourne sous Irix, tu as une VM.
--
Éric Jacoboni, né il y a 1420751042 secondes

Avatar
Julien BLACHE
Eric Masson wrote:

Que les langages de bas niveau aient leur utilité est indéniable
(système) mais en applicatif, pourquoi s'emmerder avec des outils qui
sont loin de simplifier la tâche du programmeur lambda.


Pour ne pas écrire des grosses vaches poussives en java. Par
exemple. J'aurais pu dire python aussi.

JB.

--
I WILL REMEMBER TO TAKE MY MEDICATION
I WILL REMEMBER TO TAKE MY MEDICATION
I WILL REMEMBER TO TAKE MY MEDICATION
-+- Bart Simpson on chalkboard in episode 2F14

Avatar
Irvin Probst
On 2005-05-28, Julien BLACHE wrote:
Eric Masson wrote:

Que les langages de bas niveau aient leur utilité est indéniable
(système) mais en applicatif, pourquoi s'emmerder avec des outils qui
sont loin de simplifier la tâche du programmeur lambda.


Pour ne pas écrire des grosses vaches poussives en java. Par
exemple. J'aurais pu dire python aussi.


Bien heureusement les enseignants ont dépassé ce stade puérile de
passage de bite au cirage de leurs élèves.

--
Irvin


Avatar
Eric Masson

je suis pas assez intelligent.Je n'entends pas la meme chose par
"portabilite". Gcc existe pour Linux, NetBSD, Irix, Solaris, Windows, VMS,
etc. Et pour x86, sparc, mips, vax, etc. C'est cette portabilite qui
m'interesse.


Étant donné que le linuxien moyen est infoutu d'écrire du code qui se
compile sur autre chose qu'un linux voir qu'une distri particulière dans
une version particulière, je ne vois pas ou est la portabilité apportée
par gcc, mais bon ça n'engage que moi.

Que .Net traduise un source ou un objet de n'importe quel language en un
bytecode qui produira toujours le meme resultat *sous Windows*, je ne vois
pas l'utilite.Je suis sous unix les 4/5 du temps...


.Net est une plateforme au même titre que Java (j'ai la très nette
impression que vous confondez allègrement plateforme et langage dans le
cas présent). Le CLR est porté sur un bon nombre de systèmes
actuellement, Windows (Mono & implémentation microsoft), FreeBSD (Mono,
implémentation Microsoft et Portable .Net), Linux (Mono et Portable
.Net) et encore d'autres (voir les sites respectifs de Mono et Portable
.Net) donc un bytecode est exécutable sur ces différents systèmes.

comment utilise-je l'environnent .Net avec IRIX par exemple ?


Ben en compilant Mono ou Portable .Net sur Irix, quelle question...

Mono n'est pas un projet Microsoft.


Et alors ?

MS ne porte rien pour unix.


Raté, une implémentation de référence de .Net existe pour FreeBSD.

Java est porte par Sun sur unix et sur win32.


N'importe quoi, la jvm de sun est portée par sun sur Solaris, Linux et
Windows. Solaris et linux, ce n'est pas unix en général.

De Icaza se met en quatre pour porter un environnement que l'editeur
principal ne porte pas lui-meme.


Oui et ?

Faut croire que De Icaza a plus de temps et d'argent que MS pour se
livrer a cet exercise.


Je crois surtout qu'Icaza, malgré ses prises de position halakon pense
que .Net vaut le détour et ne doit pas être ignoré en dépit de son
origine Microsoft.

Éric Masson

Avatar
talon
Eric Masson wrote:

S'extasier sur l'existence de Mono et la liberté que ça confère
au C# est absolument grotesque.


Personne ne s'extasie sur l'existence de Mono, mais tirer à boulet rouge
dessus n'a pas plus de légitimité.

Quand à descendre C# sans l'avoir utilisé, ça ne me parait pas des plus
sérieux.


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 ...





--

Michel TALON