Fragen zu Mono

M

miketech

Routinier
Hi zusammen,

ich beschäftige mich derzeit ein kleines wenig mit Mono, will nur mal reinschnuppern, was das denn nun so genau ist :) Ich habe bereits im Internet etwas gelesen und auch ein paar FAQs durchgeschaut, aber ich habe noch ein paar Fragen. Vielleicht kennt sich hier ja jemand mit Mono aus:

Ich habe gehört, dass es mit Mono möglich sein soll, Code von verschiedenen Sprachen wiederzuverwenden. D.h. wenn nun jemand seinen Code mit Visual Basic .NET und ein anderer mit C# programmiert hat, kann der Code untereinander ausgetauscht werden. Wie ist das möglich?

Die Programme werden offensichtlich ähnlich wie bei Java von einer Virtual Machine ausgeführt korrekt? Ist der Code dann auch wie bei Java wiederherstellbar? Bei Java war es ja ByteCode, der mit wenig Umstand wieder in den eigentlich Quellcode umgewandelt werden konnte. Ist das hier auch möglich?

Ich habe gelesen, dass geplant war im 4. Quartal 2004 eine vollständige Implementierung der Winforms unter Linux zu ermöglichen. Bisher war das ja nicht so ideal. Angenommen die Implementierung wäre nun fertig: Wieso dann noch gtk# nehmen? Wenn ich mein Programm mit gtk# unter Windows zum laufen bringen möchte, muss der/diejenige ja erst gtk installieren, damit das Programm läuft. Mit Winforms würde es doch auf Anhieb funktionieren, oder?

Wird es unter Linux noch weitere Sprachen geben, mit denen man Mono nutzen kann? Bisher ist es ja ausschließlich C#. Mono ist doch im Grunde nur eine Klassenbibliothek, oder? Mit Bindings für verschiedene Sprachen anschließend, bzw. die Virtual Machine kann verschiedene Sprachen interpretieren. Im aktuellen Fall eben C#.

Auch wenn ich in den FAQs gelesen habe, dass nur bedingt Gefahr für das Mono - Projekt seitens Microsoft besteht würde ich gerne Eure Meinung dazu hören. Ich denke ja, dass Microsoft das jetzt erstmal in Ruhe anschaut, damit es sich verbreitet, aber irgendwann schon noch den Hammer ausfährt.

Wie ist Mono im Vergleich zu Java? Die Syntax ähnelt sich, es ist auch eine VM. Wie ist es von der Performance?

So das wars erstmal :)

Gruß

Mike
 
Immer diese Nachtaktiven ;)

miketech schrieb:
Ich habe gehört, dass es mit Mono möglich sein soll, Code von verschiedenen Sprachen wiederzuverwenden. D.h. wenn nun jemand seinen Code mit Visual Basic .NET und ein anderer mit C# programmiert hat, kann der Code untereinander ausgetauscht werden. Wie ist das möglich?

Die Grundidee ist halt das die cli im Gegensatz nur java-vm nicht auf eine Sprache festgelegt ist. Du kannst also in verschiedenen Sprachen dein Programm schreiben und die cli kann es jedesmal ausführen. Natürlich muß für die Sprache ein mono compiler existieren.

Die Programme werden offensichtlich ähnlich wie bei Java von einer Virtual Machine ausgeführt korrekt?
Ist der Code dann auch wie bei Java wiederherstellbar? Bei Java war es ja ByteCode, der mit wenig Umstand wieder in den eigentlich Quellcode umgewandelt werden konnte. Ist das hier auch möglich?

in einer gewissen Form wird das schon möglich sein, wie lesbar das dann ist ist eine andere Frage.
Aber eigentlich kein Problem, bei vernünftigen Programmen ist der Quellcode sowieso dabei. ;)

Ich habe gelesen, dass geplant war im 4. Quartal 2004 eine vollständige Implementierung der Winforms unter Linux zu ermöglichen. Bisher war das ja nicht so ideal. Angenommen die Implementierung wäre nun fertig: Wieso dann noch gtk# nehmen?

naja, ob das mit dem winforms so schnell gehen wird? Ich denke da haben sie sich ein sehr ehrgeiziges Ziel gesetzt.
Warum gtk#? Weil winforms immer auf windows ausgelegt sein wird und du damit nie Programme schreiben kannst die sich wirklich in einen GNU/Linux Desktop integrieren. Bei Gtk# hast du alle Vorteile von Gtk und gnome und kannst gnome und Gtk Programme schreiben die auch wirklich im System nachher integriert sind und alle Vorteile nutzen wie mit anderen Sprache auch.
winforms ist ganz nett wenn jemand seine windows Programme nach GNU/Linux mitnehmen will, aber wenn man unter und für GNU/Linux entwickelt ist Gtk# immer erste Wahl.

Wenn ich mein Programm mit gtk# unter Windows zum laufen bringen möchte, muss der/diejenige ja erst gtk installieren, damit das Programm läuft. Mit Winforms würde es doch auf Anhieb funktionieren, oder?

er braucht mono, da ist dann schon alles dabei. Wenn er .Net hat, dann muß er zusätzlich Gtk# installieren. In Zukunft wird es auch eine Möglichkeit geben alles nötige statisch zu linken. Dann hast du am Ende eine .exe die überall läuft, auch ohne installiertem mono oder .Net!

Wird es unter Linux noch weitere Sprachen geben, mit denen man Mono nutzen kann? Bisher ist es ja ausschließlich C#.

VB.Net wird es auf jedenfall noch geben, existiert glaube ich sogar schon zu einem gewissen Teil. Zumindest gibt es in der mono-docu auch schon kleine basic Beispiele.

Auch wenn ich in den FAQs gelesen habe, dass nur bedingt Gefahr für das Mono - Projekt seitens Microsoft besteht würde ich gerne Eure Meinung dazu hören. Ich denke ja, dass Microsoft das jetzt erstmal in Ruhe anschaut, damit es sich verbreitet, aber irgendwann schon noch den Hammer ausfährt.

Ich sehe da kein großes Problem, auch wenn viele immer gerne über MS große Panik verbreiten. Ein Großteil ist EMCA Standard und wird nichtmal von MS alleine weiterentwickelt! Abgesehen davon sind das alles keine neuen Sachen, die Chance das also wirklich vor Gericht durchzusetzen ist sehr gering.
Ausserdem steht hinter Mono Novell, die haben auch ihre Anwälte und werden sicher nicht in etwas investieren was eine unsichere Zukunft hat. Neben Mono gibt es auch noch dotGNU vom GNU-Projekt die haben auch ihre Anwälte und kennen sich mit den ganzen Patent und Urheberrechtssachen sehr gut aus, wenn es da ernsthafte Probleme geben würde, dann hätte man sicher nicht so ein Projekt angefangen.

worst case szenario: Angenommen MS kann Patente in Zukunft auf ein paar Teile von .Net durchsetzen (was ich wie oben beschrieben nicht glaube). Dann ist es kein großes Problem. Mono ist in erster Linie ein eigenes Projekt, inspiriert von .Net und natürlich mit dem interesse so kompatibel wie möglich zu bleiben. In erster Linie geht es aber nicht um MS, windows oder .Net sondern darum eine ellegante und schöne Möglichkeit für die Entwicklung unter GNU und BSD Systemen zu schaffen. Wenn es also soweit kommt, dann werden Mono und .Net an manchen Punkten getrennte Wege gehen. Das beeinflusst die ganze Entwicklung unter GNU und BSD Systemen aber nicht. Man wird ja sehen was die Leute dann annehmen, .Net das nur auf windows läuft oder Mono (was fast das gleiche sein würde) mit dem man machen kann was man will (Freie Software) und das auf allen denkbaren Plattformen läuft. Selbst wenn wir jetzt weiter den worst case durchspielen und sagen, dass man sich hier für .Net entscheiden würde. Dann wäre halt .Net die Entwicklungsumgebung für windows, hier in der GNU, BSD und Unix Welt wären wir trotzdem um eine sehr gute und ellegante Entwicklungsumgebung reicher.
 
Zuletzt bearbeitet:
ich empfinde auch eine gewisse Neugier bei Mono, aber wieso gibt es das Projekt dotGnu ? Werden unterschiedliche Ziele angestrebt?
Falls nicht, könnte man sich doch besser zusammenschließen oder nicht?
 
pinky schrieb:
Immer diese Nachtaktiven ;)



Die Grundidee ist halt das die cli im Gegensatz nur java-vm nicht auf eine Sprache festgelegt ist. Du kannst also in verschiedenen Sprachen dein Programm schreiben und die cli kann es jedesmal ausführen. Natürlich muß für die Sprache ein mono compiler existieren.


Kann ich auch mehrere Sprachen gleichzeitig kompilieren? D.h. dem Compiler zwei Quellcode-Files in verschiedenen Sprachen übergeben? Dann wäre es mir verständlich, wie man Code aus anderen Sprachen wiederverwenden kann.

pinky schrieb:
in einer gewissen Form wird das schon möglich sein, wie lesbar das dann ist ist eine andere Frage.
Aber eigentlich kein Problem, bei vernünftigen Programmen ist der Quellcode sowieso dabei. ;)

Naja es sollte aber doch möglich sein, mit Mono kommerzielle Software zu entwickeln oder? Bei Java bekomm ich fast den originalen Quellcode zurück, ob das bei Mono auch so ist? Natürlich sind die besten Sachen Open Source, ist klar ;)


pinky schrieb:
naja, ob das mit dem winforms so schnell gehen wird? Ich denke da haben sie sich ein sehr ehrgeiziges Ziel gesetzt.
Warum gtk#? Weil winforms immer auf windows ausgelegt sein wird und du damit nie Programme schreiben kannst die sich wirklich in einen GNU/Linux Desktop integrieren. Bei Gtk# hast du alle Vorteile von Gtk und gnome und kannst gnome und Gtk Programme schreiben die auch wirklich im System nachher integriert sind und alle Vorteile nutzen wie mit anderen Sprache auch.
winforms ist ganz nett wenn jemand seine windows Programme nach GNU/Linux mitnehmen will, aber wenn man unter und für GNU/Linux entwickelt ist Gtk# immer erste Wahl.

Naja, aber sind alle Funktionen, die ich unter Linux mit Gtk# und Gnome baue dann auch unter Windows aktiv? Vermutlich nicht oder? Dann hätte ich das Problem genau andersrum.

pinky schrieb:
er braucht mono, da ist dann schon alles dabei. Wenn er .Net hat, dann muß er zusätzlich Gtk# installieren. In Zukunft wird es auch eine Möglichkeit geben alles nötige statisch zu linken. Dann hast du am Ende eine .exe die überall läuft, auch ohne installiertem mono oder .Net!

Das mit den statischen Anwendungen ist natürlich scharf. Ich finds nur etwas irritierend, dass ich unter Linux auch .exe-Files habe. Muss das so sein? *g* Nur, damits unter Windows auch startet oder?

pinky schrieb:
VB.Net wird es auf jedenfall noch geben, existiert glaube ich sogar schon zu einem gewissen Teil. Zumindest gibt es in der mono-docu auch schon kleine basic Beispiele.

Ja dazu habe ich Beispiele gesehen. Weißt Du, ob für Scriptsprachen eventuelle Bindings geplant sind? Z.B. Perl oder so?

pinky schrieb:
Ich sehe da kein großes Problem, auch wenn viele immer gerne über MS große Panik verbreiten. Ein Großteil ist EMCA Standard und wird nichtmal von MS alleine weiterentwickelt! Abgesehen davon sind das alles keine neuen Sachen, die Chance das also wirklich vor Gericht durchzusetzen ist sehr gering.
Ausserdem steht hinter Mono Novell, die haben auch ihre Anwälte und werden sicher nicht in etwas investieren was eine unsichere Zukunft hat. Neben Mono gibt es auch noch dotGNU vom GNU-Projekt die haben auch ihre Anwälte und kennen sich mit den ganzen Patent und Urheberrechtssachen sehr gut aus, wenn es da ernsthafte Probleme geben würde, dann hätte man sicher nicht so ein Projekt angefangen.

worst case szenario: Angenommen MS kann Patente in Zukunft auf ein paar Teile von .Net durchsetzen (was ich wie oben beschrieben nicht glaube). Dann ist es kein großes Problem. Mono ist in erster Linie ein eigenes Projekt, inspiriert von .Net und natürlich mit dem interesse so kompatibel wie möglich zu bleiben. In erster Linie geht es aber nicht um MS, windows oder .Net sondern darum eine ellegante und schöne Möglichkeit für die Entwicklung unter GNU und BSD Systemen zu schaffen. Wenn es also soweit kommt, dann werden Mono und .Net an manchen Punkten getrennte Wege gehen. Das beeinflusst die ganze Entwicklung unter GNU und BSD Systemen aber nicht. Man wird ja sehen was die Leute dann annehmen, .Net das nur auf windows läuft oder Mono (was fast das gleiche sein würde) mit dem man machen kann was man will (Freie Software) und das auf allen denkbaren Plattformen läuft. Selbst wenn wir jetzt weiter den worst case durchspielen und sagen, dass man sich hier für .Net entscheiden würde. Dann wäre halt .Net die Entwicklungsumgebung für windows, hier in der GNU, BSD und Unix Welt wären wir trotzdem um eine sehr gute und ellegante Entwicklungsumgebung reicher.


Naja, da Novell dahintersteht ist es schon etwas sicherer, dass da nicht allzuviel schief geht. Die werden sich ja vorher absichern und im Notfall mit Anwälten kontern. Das ist noch ein Grund eher gtk# statt den Winforms zu verwenden. Gtk# ist ja nicht von Microsoft, die Winforms hingegen schon.

Die Sprache C# ist aber prinzipiell eine Entwicklung von Microsoft oder?

Gruß

Mike
 
avaurus schrieb:
ich empfinde auch eine gewisse Neugier bei Mono, aber wieso gibt es das Projekt dotGnu ? Werden unterschiedliche Ziele angestrebt?
Falls nicht, könnte man sich doch besser zusammenschließen oder nicht?

Ich glaube sie sind damals ziemlich Zeitgleich gestartet. Es ist ja auch nicht schlecht zwei Eisen im Feuer zu haben falls sich das eine oder andere nicht so entwickelt wie geplant. Soviel ich weiß hat dotGNU z.B. van Anfang an mehr auf die winforms gesetzt, während mono jetzt erst damit langsam voran kommt. Ansonsten denke ich das sie zum Teil unterschiedliche Ansätze haben als auch in gewissen Bereichen sicher Code untereinander austauschen. In den FAQs der beiden Projekte steht da afaik auch was dazu.
 
Hi,

ich habe grad gesehen, dass es sogar sowas gibt wie wx.NET. Wie schaut gtk denn unter Windows und MacOS X aus? Sieht das native aus? wxWidgets nutzt ja unter Windows die original Windows Libraries, statt alles selbst zu zeichnen, wie z.B. Gtk.

Gruß

Mike
 
miketech schrieb:
Kann ich auch mehrere Sprachen gleichzeitig kompilieren? D.h. dem Compiler zwei Quellcode-Files in verschiedenen Sprachen übergeben? Dann wäre es mir verständlich, wie man Code aus anderen Sprachen wiederverwenden kann.

bin ich mir nicht sicher, müsstest du mal nach Informationen suchen.

Naja es sollte aber doch möglich sein, mit Mono kommerzielle Software zu entwickeln oder?

Das hat doch aber nichts mit dem Quellcode zu tun... :D

Natürlich sind die besten Sachen Open Source, ist klar ;)

nein, Freie Software ist besser ;)

Naja, aber sind alle Funktionen, die ich unter Linux mit Gtk# und Gnome baue dann auch unter Windows aktiv? Vermutlich nicht oder? Dann hätte ich das Problem genau andersrum.

ja und nein. ja, derzeit kann es noch sein das gewisse Teile unter windows nicht funktioniere. Nein, das wird in Zukunft behoben sein. Bei gtk/gnome gibt es nicht so die strikte Trennung wie bei kde (kdelibs/qtlibs) langfristig bis mittelfristig werden die "gnomelibs" fast vollständig aufgelöst. Und alles was möglich ist wird es für alle Plattformen geben. Natürlich ist das nicht für alles möglich (z.B. gnome-vfs). Aber auch auf der windows Seite hast du Sachen die du verwenden kannst die nachher nichtmehr portabel sind. Ab einer gewissen integration in ein System deiner Wahl wirst du immer auf der anderen Seite einbußen in der portabilität hinnehmen müssen.

Das mit den statischen Anwendungen ist natürlich scharf. Ich finds nur etwas irritierend, dass ich unter Linux auch .exe-Files habe. Muss das so sein? *g* Nur, damits unter Windows auch startet oder?

ja stimmt, daran habe ich mich auch erst gewöhnen müssen. Aber man mus sich halt am schwächsten System orientieren und das verlangt feste Dateiendungen :D


Die Sprache C# ist aber prinzipiell eine Entwicklung von Microsoft oder?

initiiert wäre das richtige Wort. Mittlerweile wird sie als offener Standard unter der EMCA entwickelt und da ist nicht nur MS dabei, u.a. auch Leute von novell.
 
miketech schrieb:
ich habe grad gesehen, dass es sogar sowas gibt wie wx.NET.

naja, die wx* Sachen sind eben immer so eine Sache, hoch portabel, dafür aber auch nirgends wirklich zu Hause und sehen immer auch etwas fremd aus. Wie bereits gesagt. 100% Portabilität und 100% integration in ein bestehendes System wirst du nie hinbekommen.

Wie schaut gtk denn unter Windows und MacOS X aus? Sieht das native aus? wxWidgets nutzt ja unter Windows die original Windows Libraries, statt alles selbst zu zeichnen, wie z.B. Gtk.

hatten wir afaik schonmal in der Toolkit Diskussion. Also ab win2k sehen die aktuellen GTk Programme zu 99% wie windows Programm aus, gleiches gilt für MacOSX

Kannst ja mal nach screenshots suchen, hier gibt es ab und zu auch screenshots von windows und mac und nebenbei erfährt man was es neues in der Entwicklung gibt: http://www.go-mono.com/monologue/
 
Hi,

also gibt es im Grunde nichts, was gegen Mono spricht. Ich hab nämlich schon oft in Buchhandlungen Bücher zu C# und dem ganzen .NET gesehen und oft nen großen Bogen drumrum gemacht. .NET dürfte eigentlich weniger interessant sein von Microsoft, da hier bestimmt primär auf Winforms usw. eingegangen wird. Interessanter könnte C# mit Gtk# sein. Literatur zu Gtk# hab ich jedoch noch nie gesehen, aber benötigt man ja nicht, bei entsprechender Online-Doku.

Im Standard von C# sind doch auch Funktionen für Netzwerkprogrammierung enthalten oder? Also im Grunde haben wir hier dasselbe, was wir von Java her kennen, eine allround - Sprache, die jedoch keiner Firma gehört, sondern standardisiert wird. Sind die Netzwerkfunktionen und z.B. Threadprogramming auch im Standard festgehalten?

Dann könnte das ganze wirklich interessant werden. Zusammen mit Gtk# eine schöne Mischung.

Gruß

Mike
 
Ja, du hast es im Prinzip richtig zusammengefasst. Auch die ganzen ASP.NET Sachen (webservice) gibt es von Mono. Wirklich ein tolles und freies rundum Packet, wie java nur besser ;)

Wenn du ein paar EUR in ein Buch investieren willst, dann kann ich dir das hier empfehlen: http://www.bookzilla.de/shop/action/productDetails?aUrl=90006951&artiId=2861775

Wirklich sehr gut! Behandelt alles wichtige (auch die webservice Sachen, XML, Threads usw.) und hat einen großen Gtk# Teil.
 
Hi,

danke für den Tipp. Habs mir mal notiert und werde in den nächsten Semesterferien wohl darauf zurückkommen :)

Gruß

Mike
 
miketech schrieb:
Ja dazu habe ich Beispiele gesehen. Weißt Du, ob für Scriptsprachen eventuelle Bindings geplant sind? Z.B. Perl oder so?
Ich denke eher nicht, dass so etwas für Perl entwickelt wird. Allerdings wird für Perl6 zur Zeit Parrot entwickelt, eine kleiner assemblerähnliche Sprache samt Interpreter. Im Prinzip ist das sowas wie .Net CLI und Java Bytecode.
Es wird auch mit dem Gedanken gespielt, Python parrotfähig zu machen.

Aber für Python selbst gibt es schon eine .Net- & Mono-Implementierung: IronPython
Ausserdem lässt sich Python auch in Java verwenden: Jython
Python deckt praktisch, neben seinen normal CPython Interpreter, der auch auf vielen Plattformen läuffähig ist, auch die wichtigsten VMs ab. ;)
 
Hi,

also damit die Windows-Anwendungen weitestgehend portabel auf Linux sind, ist es schon wichtig, dass unter Linux mehr Sprachen als nur C# unterstützt werden. Wenn Visual Basic .NET läuft ist schonmal einiges gewonnen denke ich. Fehlen natürlich noch die Winforms, aber das soll ja bald zumindest einigermaßen gehen.

Zum Wiederherstellen des Codes: Unter Java hieß es, dass der Code wiederherstellbar sein muss, weil die JVM den ja auch interpretieren muss. *schulterzuck* Ich kann mir nicht vorstellen, dass Microsoft so etwas ermöglicht. Gerade wenn große kommerzielle Produkte damit hergestellt werden sollen ist es denke ich wichtig, dass der Code nicht wiederherstellbar ist.

Sollte er es doch sein, gibt es entweder wenige Firmen, die es benutzen, oder wir haben bald ganz viele Programme als "open source" vorliegen ;))

Also ich muss sagen, dass sich meine ganze Skepsis gegenüber C# und .NET an zwei Tagen umgekehrt hat. Bis vor 2 Tagen habe ich einen großen Bogen um diese Sache gemacht, aber jetzt finde ich es durchaus interessant, gerade für GUI-Anwendungen. Für Serveranwendungen finde ich es jetzt nicht soo, aber mit ASP.NET müssten sich ja dann auch einige Sachen entwickeln lassen.

Wo ist denn der Unterschied zu zwischen ASP.NET und z.B. PHP? ASP geht mehr in Richtung J2EE oder? Ich habe schon Mono-Plugins für Apache gefunden.

Gruß

Mike
 
Ach und die Performance würde mich noch interessieren. Hat jemand mal Vergleiche zu C++ und insbesondere Java gefunden? Java hat mich von der Geschwindigkeit nicht immer überzeugt. Gerade bei GUI-Anwendungen. Das könnte ja mit Gtk# besser sein.

Ich hab nur das hier gefunden:

http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000052.html

Und das ist schon einige Zeit her. Kann sich ja einiges getan haben in der Zwischenzeit.

Wofür steht eigentlich CLI? Was genau ist das bei .NET?

Gruß

Mike
 
Hi,

k danke. Ich les grad den Artikel auf Wikipedia. Aber da kommen mir noch ein paar Fragen auf:

Microsoft hat dieses ganze .NET ja angefangen, um gegen Java eine Chance zu haben. Wenn man nun .NET unterstützt unterstützt man ja auch Microsoft gegen Java. Nicht, dass ich jetzt ein großer Freund von Java bin, aber von Microsoft auch nicht.

Microsoft bringt demnächst die Version 2.0 von .NET heraus. Was ändert sich dann jetzt wieder? Muss nicht Mono dann immer hinter Microsoft herrennen, um auf dem aktuellen Stand zu bleiben? Microsoft wird doch ännlich wie beim Internet Explorer irgendwann anfangen, eigene Standards zu implementieren. D.h. dann wars das mi der Plattformunabhängigkeit wieder, oder?

Ich bin skeptisch, weil das ganze einfach zu gut klingt. Das ist nicht die Art von Microsoft, der Gemeinschaft irgendwie zu helfen. Ich denke, die freuen sich, dass es sich verbreitet und dass die Linuxer vielleicht auch mit .NET arbeiten. Aber dann fangen sie irgendwann an, sich vom Rest zu lösen, damit die Linuxer irgendwie (Wie auch immer das dann abläuft) doof und alleine mit ihrer Sprache dastehen.

Bei den Browsern hatten wir ja was ähnliches: Microsoft hält sich nicht an Absprachen. Sie fangen irgendwann an und machen das, was sie brauchen, weil sie den Standard bestimmen mit ihrem Marktanteil.


Mike
 
Ach und hier steht auch folgendes:

Das Sicherheitskonzept von .NET fängt an bei Mechanismen, die die Identität des Programmherstellers gewährleisten sollen (Authentizität), geht über Mechanismen zum Schutz der Programme vor Veränderung (z.B. vor Programmviren) bis hin zu Schutzmechanismen, die den Ort der Herkunft bzw. Programmausführung (z.B. Internet) einbeziehen.


Ich weiß nicht, inwieweit Mono da mitspielt. Aber das riecht schon wieder so nach Digital Rights Management. Microsoft bestimmt dann, wo ihre Software läuft.

If (VM == Mono) {
exit(0);
}

Mike
 
Wie gesagt, ein großteil wurde von MS dem EMCA zur Standardisierung vorgelet und da arbeitet jetzt nicht nur MS dran. Was sollst wenn MS .NET (was ja quasi die ganze Distribution ist um es mal im GNU/Linux jargon zu sagen) ein paar Module einbaut die spezielle Sachen unter windows machen?
Dafür haben wir hier unter GNU/Linux die gnome und Unix Anbindung die auch nicht ohne weiteres auf windows läuft.

Ich zitiere mich einfach mal selber:

worst case szenario: Angenommen MS kann Patente in Zukunft auf ein paar Teile von .Net durchsetzen (was ich wie oben beschrieben nicht glaube). Dann ist es kein großes Problem. Mono ist in erster Linie ein eigenes Projekt, inspiriert von .Net und natürlich mit dem interesse so kompatibel wie möglich zu bleiben. In erster Linie geht es aber nicht um MS, windows oder .Net sondern darum eine ellegante und schöne Möglichkeit für die Entwicklung unter GNU und BSD Systemen zu schaffen. Wenn es also soweit kommt, dann werden Mono und .Net an manchen Punkten getrennte Wege gehen. Das beeinflusst die ganze Entwicklung unter GNU und BSD Systemen aber nicht. Man wird ja sehen was die Leute dann annehmen, .Net das nur auf windows läuft oder Mono (was fast das gleiche sein würde) mit dem man machen kann was man will (Freie Software) und das auf allen denkbaren Plattformen läuft. Selbst wenn wir jetzt weiter den worst case durchspielen und sagen, dass man sich hier für .Net entscheiden würde. Dann wäre halt .Net die Entwicklungsumgebung für windows, hier in der GNU, BSD und Unix Welt wären wir trotzdem um eine sehr gute und ellegante Entwicklungsumgebung reicher.
 
Ja klar, aber dann haben wir eben einfach eine neue Sprache unter Unix, die eben interpretiert wird, aber die ganze Plattformunabhängigkeit ist weitestgehend dahin.

Dann kann ich auch C++ mit STL und Gtk schreiben und bin genauso weit, nur dass ich auf Windows neu kompilieren muss.

Und zusätzlich habe ich einem großen Softwarekonzern geholfen, seine Plattform zu verbreiten, indem ich sie nutze.

Gruß

Mike
 
miketech schrieb:
Ja klar, aber dann haben wir eben einfach eine neue Sprache unter Unix, die eben interpretiert wird, aber die ganze Plattformunabhängigkeit ist weitestgehend dahin.

Wieso, mono lauft auf jeder Plattform!

Und zusätzlich habe ich einem großen Softwarekonzern geholfen, seine Plattform zu verbreiten, indem ich sie nutze.

nein, du hast nie .Net benutzt sondern Mono!
Das wäre genauso wie wenn du sagen würdest, durch die verwendeung des g++ unterstütze ich MS und ihren C++-Kompiler, weil deine Programme, wenn in ANSI-C++ geschrieben, auch unter windows übersetzt werden können.

Selbst wenn wir diesen feinen Unterschied nicht beachten, dann glaube ich kaum das du durch die Wahl der Programmiersprache für deine GNU/Linux Programme MS in irgendeiner Form hilfst. Selbst wenn wir das wieder nicht akzeptieren und einfach mal deiner Annahme folgen, dann haben wir halt MS für die Verbreitung von .Net auf ihrer Plattform geholfen, und? Denkst du wirklich MS braucht uns um Entscheidungen für ihre Plattform zu treffen oder durchzusetzen?

Da hilfst du sun deutlich mehr ihr proprietäres System durchzusetzen wenn du java verwendest, weil das ist für alle Plattformen, auch unseres, ausgelegt ist.
 
Zuletzt bearbeitet:

Ähnliche Themen

Gui tools entwickeln unter linux

Zusammenhang Glib <-> Gtk

GUI Programmierung: Toolkit vergleich

Soviele Fragen eines Umsteigers passen nicht in den Titel ^^'

Java 5 - Performance und Vergleich zu C++

Zurück
Oben