Wenn schon Objektorientiert, dann... mit welcher Sprache?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 14.06.2005 11:39:38

Das siehst du richtig.

DotGNU sind halt die die wengier Lärm machen. ;)
Ausserdem scheinen sie (im gegensatz zu mono) schon recht lange eine funktionierende Windows.Forms Implementierung zu haben. Wens interessiert...;)

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Benutzeravatar
jd
Beiträge: 286
Registriert: 01.07.2003 12:02:33
Wohnort: D->Hessen->MKK

Beitrag von jd » 14.06.2005 13:05:38

peschmae hat geschrieben:DotGNU sind halt die die wengier Lärm machen. ;)
Das sie wenig Lärm machen das habeich gemerkt. :wink:
peschmae hat geschrieben:Ausserdem scheinen sie (im gegensatz zu mono) schon recht lange eine funktionierende Windows.Forms Implementierung zu haben.
Wie ist denn der Rest? Von Microsofts "VM" heißt es ja, dass sie recht schnell sein soll. Die Mono-Jungs arbeiten noch daran. Aber was ist mit der von dotGNU?

Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von BeS » 14.06.2005 15:26:53

jd hat geschrieben: Danke für den Link. In den Samples sieht man übrigends, dass man mit C#-Mitteln die Signal-Slot-Umsetzung erreichen kann. Wirklich nett.
also ich habe mir nur die Screenshots angesehen auf denen man auch etwas Code sieht und ich muß sagen, für mich sieht das ganz und garnicht so aus. Die Qt Bindings versuchen C# Qt aufzuzwingen (ähnlich wie teilweise bei C++) anstatt die C# Möglichkeiten zu nuten.

- Es wird mit QFile usw gearbeitet obwohl C# für diese Sachen sehr gute eigene Methoden hat
- Signal/Slots wurden 1:1 vom C++ Syntax übertragen obwohl C# mit den EventHandlern dafür eigene Techniken anbietet.
...

Das sind u.a. Sachen die mich mittlerweile auch von Qt weggebracht haben. Qt definiert eine eigene Programmiersprache und stülpt diese der eigentlichen Programmiersprache über anstatt sich in die Programmiersprache möglichst sauber zu integrieren. Gtk# hat sich da imho viel schöner in die Besonderheiten von C# integriert, wie auch die anderen Gtk+ Bindings in die jeweiligen Sprachen.


Zu dotGNU, schau dir mal den FAQ von dotGNU und Mono an, da steht auch etwas zum Verhältnis der beiden Projekte.

Ich habe mir dotGNU vor einiger Zeit mal angesehen. Meiner Meinung nach ist es als reiner ".Net Clone" sicher interessant. Aber mit Gtk# hatte ich so meine Probleme die Programme zu kompilieren. Derzeitig würde ich sagen ist dotGNU als ".Net Clone" interessant und z.B. auch wenn man Window.Forms verwenden will (afaik sind die da noch immer weiter als Mono). Sucht man aber unabhängig von .Net (was nicht heißen soll das man inkompatibel ist) ein schönes Framework für GNU/Linux und GNOME ist man imho mit Mono besser dran.
Wegen der Geschwindigkeit gab es vor einiger Zeit auch mal ein Test. Damals war es ziemlich ausgeglichen, je nach Art der Aufgabe war Mono oder dotGNU schneller.
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

Benutzeravatar
jd
Beiträge: 286
Registriert: 01.07.2003 12:02:33
Wohnort: D->Hessen->MKK

Beitrag von jd » 15.06.2005 14:58:40

BeS hat geschrieben:also ich habe mir nur die Screenshots angesehen auf denen man auch etwas Code sieht und ich muß sagen, für mich sieht das ganz und garnicht so aus. Die Qt Bindings versuchen C# Qt aufzuzwingen (ähnlich wie teilweise bei C++) anstatt die C# Möglichkeiten zu nuten.
Peinlich. Du hast natürlich recht. Ich habe bisher nur einen kurzen Blick in die C# Comparisons geworfen. Danach sah das Sample ganz ok aus. Jetzt habe ich mir das Eventhandling mal näher angesehen, und ich muss Dir zustimmen, dass bei den Qt-Bindings ganz andere Wege gegangen werden. Leider.
BeS hat geschrieben:- Es wird mit QFile usw gearbeitet obwohl C# für diese Sachen sehr gute eigene Methoden hat
- Signal/Slots wurden 1:1 vom C++ Syntax übertragen obwohl C# mit den EventHandlern dafür eigene Techniken anbietet.
Du hast Recht. Alles in allem ist die Anbindung ziemlich direkt von C++ übernommen.
BeS hat geschrieben:Das sind u.a. Sachen die mich mittlerweile auch von Qt weggebracht haben. Qt definiert eine eigene Programmiersprache und stülpt diese der eigentlichen Programmiersprache über anstatt sich in die Programmiersprache möglichst sauber zu integrieren. Gtk# hat sich da imho viel schöner in die Besonderheiten von C# integriert, wie auch die anderen Gtk+ Bindings in die jeweiligen Sprachen.
Es läuft gerade ein GTK#- und ein Glade Tutorial aus dem Drucker. Ich werde die Tage mal lesen...
BeS hat geschrieben:Ich habe mir dotGNU vor einiger Zeit mal angesehen. Meiner Meinung nach ist es als reiner ".Net Clone" sicher interessant. Aber mit Gtk# hatte ich so meine Probleme die Programme zu kompilieren.
Ich werde wohl erst mal mit Mono spielen. Allerdings muss ich sagen, dass unter XP die Demo der 1.1.6 und auch der 1.1.7 nicht sonderlich stabil läuft. Einige Samples stürzen kommentarlos ab. Das hinterlässt ziemlich gemischte Gefühle. :wink:

Benutzeravatar
cyborg
Beiträge: 28
Registriert: 24.09.2004 11:17:11
Wohnort: Wien/Salzburg
Kontaktdaten:

Beitrag von cyborg » 20.06.2005 18:17:54

dotGNU ist GNU GPL
mono nicht

afaik. ist dotgnu eher zu empfehlen
bei mono gibts da womöglich patentprobleme in den nächsten jahren was ich gehört hab.

Java: super sprache. ich liebe Java. beschnittenes C++? naja. Java's syntax bleibt koherent. an sich muss ich sagen, wäre für mich persönlich java das "MASZ ALLER DINGE", aber leider scheitert es an java selbst: java is a bitch
das problem ist eben, der bytecode. klar, plattformunabhängigkeit. aber mir wäre ein "write it once, compile it anywhere" lieber. ich brauche keinen bytecode, ich will native compilierung.
"Azureus merkt man nicht..." doch. unter windows sehr wohl. azureus braucht ne menge ressourcen. es stimmt, unter linux spür ich den azureus weniger.

Eclipse / schlechter Editor? muss sagen, das ist sowas von nicht wahr. ich hab eclipse nun lange genutzt und muss sagen, mir geht die dropdownbox bei "System." bei fast allen anderen editoren ab. auch die neue codewrapping-methoden sind cool. alles in allem wäre eclipse super, wenn es nicht hin und wieder so langsam wäre.
ist eben java.

QT bindings für java hab ich bis heute nicht zum laufen gebracht. ansonsten wäre ich gespannt gewesen.

Python bevorzuge ich über ruby, weil es einfach schon mehr für python gibt. python hat irrsinnig viele anbindungen.

was mir fehlt unter linux ist ein ordentliches RAD Entwicklungstool. soetwas wie delphi oder cbuilder. und oft wünschte ich, compilerzeiten wären immer so wie bei Pascal. meine bevorzugte sprache wäre wohl freepascal im mixed mode (begins und ends mit {} ersetzt), was sehr praktisch ist. nur leider fehlen dort die qt bindings :D :(

also. letzten endes, ich hab dasselbe problem.
am liebsten wäre mir eine mixtur aus der mächtigkeit c++'s, nativen compilern für mehrere platformen, compilerzeiten und optimierungen von pascal, codeaussehen wie bei java oder c#, qt bidnings und so weiter.
also
bleibt wohl nur "zu träumen"

glar00k
Beiträge: 790
Registriert: 09.07.2002 23:01:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dresden

Beitrag von glar00k » 20.06.2005 18:35:02

cyborg hat geschrieben:dotGNU ist GNU GPL
mono nicht

afaik. ist dotgnu eher zu empfehlen
bei mono gibts da womöglich patentprobleme in den nächsten jahren was ich gehört hab.
Selbst wenn mono nicht GPL wäre (Ich gebe zu, ich weiß im Moment nicht ob es GPL, LGPL oder was anderes freies ist), es ist frei genug um in Debian zu landen, was will man mehr? Die angeblichen Patentprobleme die da kommen sollen hätte genauso dotGNU wie Mono, denn dotGNU ist im Prinzip nichts anderes als Mono, eine freie dotNet Implementierung. Wenn man wirklich auf Patente schauen würde, wäre wohl das ganzes Betriebssystem gefährdet.

Ich würde dir empfehlen, dich nochmal ein bisschen mehr mit der Thematik Lizenzen, freie Software, DFSG und Patenten ausseinanderzusetzen :)

Grüße

Benutzeravatar
cyborg
Beiträge: 28
Registriert: 24.09.2004 11:17:11
Wohnort: Wien/Salzburg
Kontaktdaten:

Beitrag von cyborg » 20.06.2005 18:57:24

naja Glar00k , mit vermutungen und überlegungen auf eine annahme zu antworten, und dann den rat zu geben mehr darüber in erfahrung zu bringen, wo doch offensichtlich die eigene erfahrung offenbar nicht vollständig ist, halt ich eigentlich für eine frechheit (im sinne von arroganter / frecher antwort), wenn ich das mal so in den raum stellen darf. da kannst noch bitte noch dran arbeiten. sowas nimmt man persönlich.

dotgnu und mono sind, afaik, nicht dasselbe, sie nutzen nur minimal denselben code (einige libs)

mehr gibts offenbar unter http://www.internetnews.com/dev-news/ar ... hp/3361991 (ein link, der mir zuflog)

was ich damals gelesen habe, in einem artikel von dotgnu selbst, ist, dass mono teilweise patentierte lösungen in ihrem code verwendet, die aber in einer GNU Lösung nicht sein dürfen.

dotgnu dagegen versucht alles "gnugerecht" zu machen.

Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von BeS » 20.06.2005 19:50:13

cyborg hat geschrieben: dotgnu und mono sind, afaik, nicht dasselbe, sie nutzen nur minimal denselben code (einige libs)
klar, es sind ja zwei verschiedene Projekte. Aber wir reden hier auch nicht vom Urheberrecht sondern von Patenten, da spielt der konkrete Code sowieso keine Rolle, da geht es um Ideen und den Algorithmus ganz allgemein.

Wenn Mono MS Patente verletzt, dann tut das mit 99,9%iger Wahrscheinlichkeit auch dotGNU und wenn beide keine MS Patente verletzen, dann wahrscheinlich irgendwelche Patente von anderen Firmen. Heute kommst du kaum über ein "HelloWorld-Programm" raus ohne irgendwelche Patente zu verletzen.

Wegen den konkreten Lizenzen von Mono: http://www.mono-project.com/FAQ:_Licensing, es ist eine Mischung aus GPL, LGPL und MIT-Lizenz
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

glar00k
Beiträge: 790
Registriert: 09.07.2002 23:01:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dresden

Beitrag von glar00k » 20.06.2005 21:11:18

cyborg hat geschrieben:naja Glar00k , mit vermutungen und überlegungen auf eine annahme zu antworten, und dann den rat zu geben mehr darüber in erfahrung zu bringen, wo doch offensichtlich die eigene erfahrung offenbar nicht vollständig ist, halt ich eigentlich für eine frechheit (im sinne von arroganter / frecher antwort), wenn ich das mal so in den raum stellen darf. da kannst noch bitte noch dran arbeiten. sowas nimmt man persönlich.
Ich habe ja nur gemeint dass Mono mindestens genausofrei wie dotGNU ist. Es geht mir ja auch nicht darum, unter welcher einzelnen Lizenz Mono steht, sondern dass Mono unter einer vergleichbar freien Lizenz steht und das garantieren dir die DFSG. Wenn Mono nicht nach den DFSG frei wäre, dann wäre Mono auch nicht im main Zweig von Debian. Ergo ist Mono genauso frei wie dotGNU und deshalb macht es keinen Sinn zu sagen, es wäre besser dotGNU zu benutzen, ausser es sind rein technische Gründe (bessere dotNET API implementierung u.s.w.), denn es gibt ein paar mehr freie und GPL-kompatible Lizenzen als die GPL selbst. Diese Fixierung auf die GPL allein ist der Punkt, der mich gestört hat.

Natürlich hast du das Recht mir vorzuwerfen ich informiere mich nicht selbst genug bezüglich der einzelnen Lizenz eines Programms, das in Debian vorhanden ist. Ich verlasse mich da jedoch auf die Debian Maintainer und die DFSG, demnach gibt es in Sachen Freiheit für mich keine Unterschiede zwischen dotGNU und Mono. Aus Debiansicht wohl überhaupt nicht und Debian ist ja auch bekannt dafür, in Sachen Freiheit ohne Kompromisse vorzugehen. Falls es ein bisschen harsch rübergekommen ist, tut mir Leid. Dein Ursprungsposting zeugte aber auch nicht gerade von geballtem Sachwissen in Bezug auf Patente :)

Auf den Rest mit den Patenten ist Bes ja schon eingegangen.

Grüße

PS: Falls es dich interessiert, der C# Compiler und die Tools sind unter der GPL veröffentlicht. Die Laufzeitbibliotheken unter der LGPL.

Antworten