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

1 2 3 4 5
Avatar
Sébastien Kirche
Le 27 mai 2005, a formulé :

Java comme .Net c'est pas du code interprété
C'est de la compilation Just In Time, non ?


Oui il paraît ;)
Sur ce point ma connaissance de java est périmée.

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


Il existe déja "mbas" le compilo VB.Net pour Mono (jamais testé)
mono ton_fichier.exe pour lancer
et mcs pour la compilation C#


Oui j'ai testé C# avec un code source piqué au hasard sur le web : ça
marche (et avec les WinForms mais c'est un truc basique) ainsi que VB
(juste un hello world, je suis rouillé avec ce truc que je n'ai plus
pratiqué depuis plusieurs années).
L'ILAsm j'ai juste jeté un coup d'oeil comme cela (hello world
également).
Quand à Nemerle (jamais entendu parlé) d'après le web c'est du C#-like.


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



Pour le côté multiplateforme je suis très réservé quand on utilise les
Winforms même si les mecs de Mono bossent pas mal dessus
http://www.go-mono.com/winforms.html


Porté à 98% d'après eux. Mais je n'ai que survolé pendant ma formation,
l'accent portant essentiellement sur les concepts de managé/non managé
et du fonctionnement des classes.
J'ai eu le support avec des paquetages (Debian) qui dataient du 20/05.

Je pense que pour faire du vrai multiplateforme en .Net, actuellement,
il faut s'imposer d'utiliser Mono/Monodevelop, éviter les Winforms et
préférer la lib GTK# au moins il n'y aura pas de surprise... (ou très
peu)

parce que j'ai essayé de lancer sous Linux une petite appli faite en
C# avec SharpDevelop... c'est pas joli
joli... http://s.cls.free.fr/wikini/wakka.php?wiki=ProjetFieldEB


Tiens, une question en passant : avec SharpDevelop il faut Visual Studio
pour avoir les compilos c#/c++ ? Je n'ai pas trouvé cette info sur le
site.

--
Sébastien Kirche


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

A coté de ça, tu as Java, qui fait exactement la
même chose que C#, qui est ni moins bien ni mieux que C# vu que c'est la même
chose à des chiures de mouche prés, qui lui dispose d'une énorme librairie de
classes disponible partout, et rééllement portable


A ceci prêt que Mono est plus portable que Java... Essaie de faire
tourner Java 1.5 sur OS X Panther, ou sur toute


A ce que j'ai compris le Java 1.5 tourne sur Tiger, donc il tourne bien sur
toutes les architectures ayant quelque intérêt pour une utilisation effective.

c'est faux. Les programmes sont portables, mais uniquement sur des
machines disposant d'une JVM donc ce terme est une arnaque pure et
simple. Java appartient à Sun, et je ne vois pas pourquoi on ne lui
reprocherait pas ce que l'on reproche à MS.


La différence essentielle est que Sun n'est pas en situation de monopole
et que Microsoft y est.


Si C# et .NET peuvent venir emmerder Sun sur son terrain, ce sera
toujours ça de gagné. Qu'ils se bouffent le museau, moi je compte les
points. Si Java 5 à ajouté la généricité, le boxing, les structs et
les enum, c'est aussi parce que C# les proposait : c'est comme au
supermarché, la concurrence profite au consommateur (et nique les
petits producteurs, ce qui n'est pas le cas de MS ni de Sun).


Et C# a ajouté les manipulations "dangereuses" histoire de revenir aux
errements de C et C++. De toute façon la généricité aussi bien de C#
que de Java n'a rien de générique, Python est beaucoup mieux sur ce point.
Donc tout ça ce n'est que des arguments commerciaux pitoyables et ça ne porte
que sur des epsilons comme je disais. Le point qui compte c'est que si dans
deux ans Sun est en faillite parceque tout le monde s'est tourné vers C#,
Microsoft pourra siffler la fin de la récréation et faire valoir ses brevêts
et on verra ce que valent Mono et toutes ces conneries. Voir les GPListes
acharnés venir prêter la main à Microsoft pour enterrer un concurrent je
n'aurais jamais cru que ça puisse arriver, pourtant ça s'est passé, ce qui
prouve le niveau de bêtise insondable de ces gens là.



--

Michel TALON


Avatar
talon
Sébastien Kirche wrote:

Sauf que là n'importe qui peut faire son Common Language Runtime, la jvm
de .NET. Et c'est normalisé.



Je te signale que n'importe qui peut développer une JVM pour Java,
d'ailleurs les gens ne s'en sont pas privés. Dommage que les gens de Sun
aient fait une JVM suffisamment meilleure pour discréditer les autres.


--

Michel TALON

Avatar
Eric Masson

Je te signale que n'importe qui peut développer une JVM pour Java,
d'ailleurs les gens ne s'en sont pas privés.


Ils ne peuvent pas les diffuser si elles ne passent pas le jck, ce qui
explique pourquoi les 1.4 et 1.5 natifs ne sont dispos que sous forme de
port et non pas sous forme binaire pour les bsd.

Il y a eu un article très intéressant comparant .Net et Java dans un des
derniers LMF, et la conclusion même si elle était plus favorable à Java
qu'à .Net, mettait quand même en évidence quelques soucis avec la
politique de licence de Sun.

Éric Masson

Avatar
Eric Jacoboni
(Michel Talon) writes:

A ce que j'ai compris le Java 1.5 tourne sur Tiger, donc il tourne
bien sur toutes les architectures ayant quelque intérêt pour une
utilisation effective.


Ben... Tiger est sorti il y a un mois, Java 5 est sorti il y a un an,
quoi. Donc, en attendant, j'ai dû préparer mes cours sur du
FreeBSD. Quoi qu'il en soit, je ne sais pas pour toi, mais j'ai du mal
à considérer comme « portable » un langage qui exige une version
particulière d'un OS (et je ne parle évidemment pas d'une version
antique d'un Unix, je parle d'une version d'OS X qui est encore
majoritairement employée).

La différence essentielle est que Sun n'est pas en situation de
monopole et que Microsoft y est.


Ça change quoi en ce qui nous concerne ? Sun est en situation de
monopole pour Java puisqu'elle ne lui lâche pas la grappe.

Et C# a ajouté les manipulations "dangereuses" histoire de revenir aux
errements de C et C++. De toute façon la généricité aussi bien de C#
que de Java n'a rien de générique, Python est beaucoup mieux sur ce point.


Oui, bah, faut pas non plus prendre au pied de la lettre tout ce que
raconte Bruce Eckel... La généricité de Java et C# est différente de
celle d'Ada et de C++, voilà tout, il suffit de le savoir : si tous
les langages fonctionnaient de la même façon, ce ne serait plus
rigolo. Quand à Python, c'est certes un langage intéressant, qui
bénéficie de beaucoup de hype, mais bon, je suis de ceux qui l'aiment
moyen et son approche objet est très loin de me satisfaire, hein. A y
être, je préfère largement Ruby (à qui il ne manque que la
programmation fonctionnelle pour me satisfaire pleinement). Quand à
choisir de défendre un renard pour me protéger du loup, je ne le fais
pas en politique, je ne vais certainement pas le faire en
informatique... Que Sun coule parce qu'il est dirigé par des cons, ce
n'est pas mon problème.

Voir les GPListes acharnés venir prêter la main à Microsoft pour
enterrer un concurrent je n'aurais jamais cru que ça puisse arriver,
pourtant ça s'est passé, ce qui prouve le niveau de bêtise
insondable de ces gens là.


De Iguaza ne s'est jamais caché de vouloir faire ressembler Linux à
Windows. Il a commencé avec Gnome, cette bouze insondable qui ne doit
son succès que parce que des atrophiés du bulbe ont décrété que KDE
n'était pas Kacher. Il continue avec Mono en annonçant qu'avant lui il
n'existait pas de système de développement digne de ce nom pour
Linux. Le point est que je me tape de Mono et du délire de Iguaza (à
la limite, c'est surtout le fait qu'il en soit l'instigateur qui me
gène, plus que ces histoires de brevets pas clairs): je ne m'intéresse
qu'au langage et, de ce point de vue, je trouve que C# est très bien
et qu'il corrige quelques trucs que je trouve horripilants en Java.

Inversement, je préfère certains points de Java à C#... Comme Java est
plus répandu que C# dans le monde où j'évolue et comme j'ai de sérieux
doutes sur le devenir de Mono et de .NET sur les plateformes non MS,
il est clair que je ne mettrai pas mes billes dans ce dernier. Cela
n'empêche pas de lui trouver des qualités. Notamment, à vue de nez,
APSX est légèrement moins lourd que l'artillerie Tomcat/Servlet, pour
ne citer que cet exemple.

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

Avatar
Irvin Probst
On 2005-05-27, Eric Jacoboni wrote:


Ben... Tiger est sorti il y a un mois, Java 5 est sorti il y a un an,
quoi.


Tiens à ce propos, pour revenir à ce que tu disais sur OS X il y a
quelques semaines, c'est clair qu'il déchire sévère. Je ne risque pas
d'installer un Linux sur le powermac avant bien longtemps.

--
Irvin

Avatar
Antonio Bravo
Den Fri, 27 May 2005 23:51:02 +0200, skrev Eric Jacoboni:



De Iguaza ne s'est jamais caché de vouloir faire ressembler Linux à
Windows. Il a commencé avec Gnome, cette bouze insondable qui ne doit
son succès que parce que des atrophiés du bulbe ont décrété que KDE
n'était pas Kacher. Il continue avec Mono en annonçant qu'avant lui il
n'existait pas de système de développement digne de ce nom pour
Linux. Le point est que je me tape de Mono et du délire de Iguaza (à
la limite, c'est surtout le fait qu'il en soit l'instigateur qui me
gène, plus que ces histoires de brevets pas clairs): je ne m'intéresse
qu'au langage et, de ce point de vue, je trouve que C# est très bien
et qu'il corrige quelques trucs que je trouve horripilants en Java.



putain de logique et de consistence interne:

"je trouve que C# est très bien"

dans ce cas, si tu trouves - et c'est tres bien et tres respectable- qu'il
est tres bien, ALORS:

--> SOIT tu utilises Windows comme plateforme, car la seule VM que MS ait
jamais planifiee de faire est pour Windows.C# etant un des composants de
.NET.

--> SOIT tu implementes ta propre VM pour l'OS de ton choix.
Err, c'est pas ce qu'a fait ce "con" de Icaza ?
Mais comme toi, tu n'est pas allume du bulbe, lundi matin tu vas nous
publier une VM C# pour Linux, ou NetBSD, ou etc.


(je cherche toujours a comprendre la consistance logique et philosophique
de certains linuxiens.C'est interessant...)

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

Avatar
Eric Jacoboni
Antonio Bravo writes:

Err, c'est pas ce qu'a fait ce "con" de Icaza ?


Si, et alors ? Ou veux-tu en venir ?

J'utilise aussi fetchmail, écrit par un défenseur des armes à feu si
tu vas par là... et avec mes impots, il y a des mecs qui font des
conneries avec lesquelles je ne suis pas d'accord non plus.

Le fait d'utiliser un outil ne signifie pas pour moi que son
instigateur est exempt de toute critique, hein, c'est ça ne pas être
atrophié du bulbe, justement. D'ailleurs, malgré tout le mal que je
pense de la politique de Sun, j'aime bien Java aussi.

(je cherche toujours a comprendre la consistance logique et
philosophique de certains linuxiens.C'est interessant...)


Pour comprendre, il faut se renseigner un peu : je ne suis plus
linuxien depuis assez longtemps déjà. Et, même à cet époque, les
zélotes me faisaient chier.
--
Éric Jacoboni, né il y a 1420676146 secondes

Avatar
talon
Eric Masson wrote:

Je te signale que n'importe qui peut développer une JVM pour Java,
d'ailleurs les gens ne s'en sont pas privés.


Ils ne peuvent pas les diffuser si elles ne passent pas le jck, ce qui
explique pourquoi les 1.4 et 1.5 natifs ne sont dispos que sous forme de
port et non pas sous forme binaire pour les bsd.



Non, non, non, il y a plein de machines virtuelles Java qui sont diffusées
sans aucune autorisation de Sun et n'en ont aucun besoin. Ce qui ne peut
être diffusé sans passer par le jck c'est la machine virtuelle de Sun,
portant le nom de Java. Excuse moi mais je ne suis pas sûr qu'on puisse se
procurer la machine virtuelle de C# originale de chez Microsoft sous des
conditions plus favorables. Peut être que je me trompe.


--

Michel TALON


Avatar
Eric Jacoboni
Irvin Probst writes:

Tiens à ce propos, pour revenir à ce que tu disais sur OS X il y a
quelques semaines, c'est clair qu'il déchire sévère. Je ne risque
pas d'installer un Linux sur le powermac avant bien longtemps.


La complétion de zsh se passe bien ? ;-)

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

1 2 3 4 5