Fragen zu Mono

Dieses Thema: "Fragen zu Mono" im Forum "Programmieren allgemein" wurde erstellt von miketech, 16.01.2005.

  1. #1 miketech, 16.01.2005
    miketech

    miketech Routinier

    Dabei seit:
    03.04.2003
    Beiträge:
    403
    Zustimmungen:
    0
    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
     
  2. Anzeige

    Schau dir mal diesen Ratgeber an. Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 pinky, 16.01.2005
    Zuletzt bearbeitet: 16.01.2005
    pinky

    pinky König

    Dabei seit:
    11.08.2004
    Beiträge:
    795
    Zustimmungen:
    0
    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.

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

    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!

    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.

    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.
     
  4. #3 avaurus, 16.01.2005
    avaurus

    avaurus °°°°°°°°°°°°°

    Dabei seit:
    28.12.2003
    Beiträge:
    965
    Zustimmungen:
    0
    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?
     
  5. #4 miketech, 16.01.2005
    miketech

    miketech Routinier

    Dabei seit:
    03.04.2003
    Beiträge:
    403
    Zustimmungen:
    0

    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.

    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 ;)


    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.

    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 dazu habe ich Beispiele gesehen. Weißt Du, ob für Scriptsprachen eventuelle Bindings geplant sind? Z.B. Perl oder so?


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

    pinky König

    Dabei seit:
    11.08.2004
    Beiträge:
    795
    Zustimmungen:
    0
    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.
     
  7. #6 miketech, 16.01.2005
    miketech

    miketech Routinier

    Dabei seit:
    03.04.2003
    Beiträge:
    403
    Zustimmungen:
    0
    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
     
  8. pinky

    pinky König

    Dabei seit:
    11.08.2004
    Beiträge:
    795
    Zustimmungen:
    0
    bin ich mir nicht sicher, müsstest du mal nach Informationen suchen.

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

    nein, Freie Software ist besser ;)

    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.

    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


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

    pinky König

    Dabei seit:
    11.08.2004
    Beiträge:
    795
    Zustimmungen:
    0
    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.

    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/
     
  10. #9 miketech, 16.01.2005
    miketech

    miketech Routinier

    Dabei seit:
    03.04.2003
    Beiträge:
    403
    Zustimmungen:
    0
    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
     
  11. pinky

    pinky König

    Dabei seit:
    11.08.2004
    Beiträge:
    795
    Zustimmungen:
    0
    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.
     
  12. #11 miketech, 16.01.2005
    miketech

    miketech Routinier

    Dabei seit:
    03.04.2003
    Beiträge:
    403
    Zustimmungen:
    0
    Hi,

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

    Gruß

    Mike
     
  13. thorus

    thorus GNU-Freiheitskämpfer

    Dabei seit:
    03.11.2002
    Beiträge:
    757
    Zustimmungen:
    0
    Ort:
    Passau, Niederbayern
    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. ;)
     
  14. #13 miketech, 16.01.2005
    miketech

    miketech Routinier

    Dabei seit:
    03.04.2003
    Beiträge:
    403
    Zustimmungen:
    0
    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
     
  15. #14 miketech, 16.01.2005
    miketech

    miketech Routinier

    Dabei seit:
    03.04.2003
    Beiträge:
    403
    Zustimmungen:
    0
    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
     
  16. thorus

    thorus GNU-Freiheitskämpfer

    Dabei seit:
    03.11.2002
    Beiträge:
    757
    Zustimmungen:
    0
    Ort:
    Passau, Niederbayern
    Das steht für Common Language Infrastructure und ist die Sprache, die .Net zugrunde liegt. Die ganzen Compiler wandeln den Sourcecode in diese Sprache um, um ihn dann durch den Interpreter zu jagen. ;) Deswegen kann man auch Code von anderen Programmiersprachen benutzen.
    http://de.wikipedia.org/wiki/Common_Language_Infrastructure
     
Thema:

Fragen zu Mono

Die Seite wird geladen...

Fragen zu Mono - Ähnliche Themen

  1. Sicherung der Systempartition inkl. Bootloader + ein paar Verständnisfragen

    Sicherung der Systempartition inkl. Bootloader + ein paar Verständnisfragen: Hallo, ich habe 2 Mediacenter-PC im Wohn- und Schlafzimmer in denen jeweils Ubuntu auf einer SSD installiert wurde. Einer läuft mit einem Bios,...
  2. Freedomvote: Zehn Fragen über digitale Freiheiten für die Schweizer Parlamentswahl

    Freedomvote: Zehn Fragen über digitale Freiheiten für die Schweizer Parlamentswahl: Die FSFE Schweiz und die Swiss Open Systems User Group haben eine Kampagne gestartet, die die Kandidaten zu Themen wie Netzpolitik und freie...
  3. Mozilla: Fragen und Antworten zu WebExtensions

    Mozilla: Fragen und Antworten zu WebExtensions: Mozilla hat mit einem FAQ auf die Aufregung reagiert, die die Ankündigung der Einstellung der bisherigen Erweiterungsschnittstelle verursachte....
  4. Fragen zu Partitions-Aufbau und Bootloader – und dem Sichern

    Fragen zu Partitions-Aufbau und Bootloader – und dem Sichern: Hallo, Ich hab ein paar Fragen zum Thema Partitions-Definitionen, dem Bootloader, wo die sind und wie man die sichert. Zu den Partitionen: Ich...
  5. vsftpd-Fragen

    vsftpd-Fragen: Hallo Freunde! Ich besitze seit neuestem ein Raspberry Pi und habe Raspbian als OS laufen. Nun möchte ich das Gerät über das Netzwerk...