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

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Benutzeravatar
hupfdule
Beiträge: 1864
Registriert: 09.12.2002 15:04:37
Wohnort: Berlin
Kontaktdaten:

Beitrag von hupfdule » 10.06.2005 15:23:39

Beowulf666 hat geschrieben:
MartinL25 hat geschrieben: In diesem Zusammenhang muss man auch den Garbage Collector nennen, der aber auch imho das Problem hat, dass der genaue Zeitpunkt der Freigabe von Speicherplatz nicht definiert ist, was Java für embedded Anwendungen schwer brauchbar macht.
Für so etwas gibt es die JamaicaVM.

Benutzeravatar
Beowulf666
Beiträge: 1476
Registriert: 06.10.2002 14:03:08
Wohnort: Lübeck
Kontaktdaten:

Beitrag von Beowulf666 » 10.06.2005 16:26:07

jd hat geschrieben: Wovon hängen die Ladezeiten ab? Manche (kleinen) Tools brauchen sehr lang, und Azureus geht doch recht schnell. Liegt das an Swing?
An Swing sollten die Ladezeiten eigetnlich nicht liegen, ich programmier grad nen Frontend zu nem einigermassen grossen Programm, bei dem die OBerfläche auch recht komplex ist. Und da hab ich mit den Startzeiten keine Probleme, geht eigentlich recht fix...
Jetzt auf SID mit Kernel 2.6.16.1 + XOrg + XFCE4.2.3: Noch mehr POWER!!!!
Next Step: Binford 8000 Super Debian ;-)

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 » 10.06.2005 18:49:17

jd hat geschrieben: Wie stabil ist GTK# unter Windoze? Oder besser: wie stabil ist GTK+ unter Windows? Gab es da nicht mal Probleme?
große Erfahrungen habe ich damit nicht, windows spielt für mich keine so große Rolle. Die Programme die ich aber unter windows getestet habe, haben einen sehr guten Eindruck gemacht
Was muss man (minimal) für GTK# für DLL's installieren (wenn man einen eigenen Installer macht)?
entweder du hast Mono installiert, dann ist alles nötige dabei oder du hast .Net installiert, dann brauchst du noch Gtk#.
Für Mono soll es eine Möglichkeit geben statisch zu linken, dann kannst du also die ganzen Gtk# Sachen direkt in deine exe linken. Bei den aktuellen Releases ist dieses Programm aber afaik noch nicht dabei.
BeS hat geschrieben: Unter Linux sieht es aber anders aus. Bei Debian läuft ja (die Installation) weder Java noch Mono "problemlos". Das eine ist nicht dabei und das andere Steinalt. :wink:
kann ich nicht bestätigen. Die aktuelle Mono Version in sid ist 1.1.6. Zusätzlich gibt es aktuelle Pakete auf der Mono-Seite und ein allgemeinen "Linux-Installer". Für sarge soll es auch bald backports auf go-mono.org kommen.
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

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 » 10.06.2005 20:05:01

jd hat geschrieben:Hmm. Ich habe irgendwo gelesen, dass GCJ unds Classpath alle Zeit in die "Aufholjagd" stecken. Die Optimierungen kommen später. Naja...
Ist ja auch logisch :D
Aber darauf setzen dass die einmal fertig werden würde ich nicht - ich meine das ist halt ein Riesenunterfangen.
SWT/Fox? Ich wußte gar nicht das es das gibt. Ist das besser? Das Design ist doch bestimmt das gleiche. Warum ist das dann "besser" als SWT/GTK?
Besser? Vielleicht. Vor allem aber schneller ;)
Unter VisualAge C++ (OS/2) gab es wirklich brauchbare Layout-Manager, die man auch wirklich "von Hand" anwenden konnte. Das habe ich bisher nicht mehr gesehen.
Hmm? Ich hab so zeugs eigentlich meist von hand gecodet. Gerade bei SWT weils damals als ich damit angefangen hab noch nicht mal Gui-Designer gab (und das Designer-Plugin von IBM finde ich jetzt nicht soo den Hammer)

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

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

Beitrag von glar00k » 13.06.2005 11:25:30

Hi,

ich kann bes da nur zustimmen, mit C#. Ist eine recht nette sprache und mit Monodevelop/Glade machts auch wirklich Spaß damit was zu schreiben. Habe mich jetzt auch mal etwas damit befasst und es ist mir bei weitem lieber als C/C++, da gleich eine ordentliche IDE existiert (Anjuta? nicht wirklich ...) und Managed Code einfach rockt (ich mein, wir leben im 21. Jahrhundert, wtf ist free()?). Ok, die KDEler haben ja KDevelop.

Zur Stabilität von Gtk# unter windows kann ich nichts sagen, aber die Stabilität von Gtk an sich ist in Ordnung. Die Probleme die es da mal gegeben zu haben scheint, waren wohl mit Version 1.2. Da weiß ich noch dass Gimp damals arge Stabilitätsprobleme hatte.

Windows.Forms soll (so weit ich weiß) mit wine implementiert werden, so dass man auch wirkliches Windowsfeeling hat. Naja, wenn man's mag O.o

Aber wie gesagt, C# sollte man mal Ausprobieren, wenn man 'ne Alternative zu Java sucht. Mit Gtk# und Glade hat man dann auch noch ein passendes Toolkit und 'nen GUI Editor. Mit Gtk# 2.0 dürfte dann auch die komplette API von Gtk 2.6 unterstützt werden, fehlen nur noch ein paar kleine Dinge.

Grüße

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

Beitrag von jd » 13.06.2005 12:14:04

Beowulf666 hat geschrieben:... bei dem die OBerfläche auch recht komplex ist. Und da hab ich mit den Startzeiten keine Probleme, geht eigentlich recht fix...
Hm. Wie lange braucht es bei Dir, wenn Du (frisch nach dem Booten) in der Shell ein .jar startest?

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

Beitrag von jd » 13.06.2005 12:17:58

BeS hat geschrieben:entweder du hast Mono installiert, dann ist alles nötige dabei oder du hast .Net installiert, dann brauchst du noch Gtk#.
ok, das klingt schon mal ganz gut.
BeS hat geschrieben:Für Mono soll es eine Möglichkeit geben statisch zu linken, dann kannst du also die ganzen Gtk# Sachen direkt in deine exe linken. Bei den aktuellen Releases ist dieses Programm aber afaik noch nicht dabei.
Das ist natürlich auch sehr interessant, Gerade wenn man kleine Tools hat, für die man (erst mal) keinen Setup schreiben muss.
BeS hat geschrieben:kann ich nicht bestätigen. Die aktuelle Mono Version in sid ist 1.1.6. Zusätzlich gibt es aktuelle Pakete auf der Mono-Seite und ein allgemeinen "Linux-Installer". Für sarge soll es auch bald backports auf go-mono.org kommen.
ok, in SID ist mono aktuell. Aber für sarge und selbst für Ubuntu ist das nicht so. Wird sich aber sicherlich noch geben...

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

Beitrag von jd » 13.06.2005 12:21:46

peschmae hat geschrieben:Besser? Vielleicht. Vor allem aber schneller ;)
Ach so. Das ist für mich momentan aber kein Argument. Noch nicht. :wink:
peschmae hat geschrieben:
Unter VisualAge C++ (OS/2) gab es wirklich brauchbare Layout-Manager, die man auch wirklich "von Hand" anwenden konnte.
Hmm? Ich hab so zeugs eigentlich meist von hand gecodet. Gerade bei SWT weils damals als ich damit angefangen hab noch nicht mal Gui-Designer gab (und das Designer-Plugin von IBM finde ich jetzt nicht soo den Hammer)
Ja, das meinte ich ja damit. Es war recht einfach und vorallem übersichtlich, einen größenveränderbaren Dialog direkt im C++ Code zu bauen.

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

Beitrag von jd » 13.06.2005 12:27:20

Glar00k hat geschrieben:ich kann bes da nur zustimmen, mit C#. Ist eine recht nette sprache und mit Monodevelop/Glade machts auch wirklich Spaß damit was zu schreiben.
Was taugt den der Editor von Monodevelop? Dies jetzt bin ich immer wieder bei Emacs gelandet.

Ist glade für C# bei Monodevelop dabei?
Glar00k hat geschrieben:Habe mich jetzt auch mal etwas damit befasst und es ist mir bei weitem lieber als C/C++, da gleich eine ordentliche IDE existiert (Anjuta? nicht wirklich ...) und Managed Code einfach rockt (ich mein, wir leben im 21. Jahrhundert, wtf ist free()?).
Hm. Du schwärmst ja so von Monodevelop, dass ich es mir doch mal ansehen werde. Was verstehst Du eigenlich unter managed code?

Glar00k hat geschrieben:Windows.Forms soll (so weit ich weiß) mit wine implementiert werden, so dass man auch wirkliches Windowsfeeling hat. Naja, wenn man's mag O.o
Ich hatte das so verstanden, dass Windows.Forms nur eine API ist, die mit dem OS darunter nichts zu tun hat. Also ähnlich wie bei Java mit SWT. Stimmt das doch nicht?
Glar00k hat geschrieben:Aber wie gesagt, C# sollte man mal Ausprobieren, wenn man 'ne Alternative zu Java sucht. Mit Gtk# und Glade hat man dann auch noch ein passendes Toolkit und 'nen GUI Editor.
Wie läuft das mit Glade bei C#? Erzeugt das direkt Code, oder gibt es eine Lib die den Dialog zur Laufzeit aufbaut?

Benutzeravatar
Beowulf666
Beiträge: 1476
Registriert: 06.10.2002 14:03:08
Wohnort: Lübeck
Kontaktdaten:

Beitrag von Beowulf666 » 13.06.2005 12:43:12

jd hat geschrieben:
Beowulf666 hat geschrieben:... bei dem die OBerfläche auch recht komplex ist. Und da hab ich mit den Startzeiten keine Probleme, geht eigentlich recht fix...
Hm. Wie lange braucht es bei Dir, wenn Du (frisch nach dem Booten) in der Shell ein .jar startest?
2 Sekunden vielleicht...
Aber ohne *.jar gehts schneller...
Jetzt auf SID mit Kernel 2.6.16.1 + XOrg + XFCE4.2.3: Noch mehr POWER!!!!
Next Step: Binford 8000 Super Debian ;-)

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

Beitrag von glar00k » 13.06.2005 12:53:27

jd hat geschrieben: Was taugt den der Editor von Monodevelop? Dies jetzt bin ich immer wieder bei Emacs gelandet.

Ist glade für C# bei Monodevelop dabei?
Naja, was soll ich zum Editor sagen, du bekommst Code vervollständigung für die dlls die du dem Projekt zugeordnet hast (für den System Namespace auch ohne :). Ansonsten halt das typische wie automatisches Einrücken u.s.w. Leider aber noch kein Automatisches einrücken bei Blöcken, aber ich denke das kommt mit einer der nächsten Versionen (ist ja erst 0.7).

Monodevelop ist nur eine IDE. Glade ist dagegen ein Interface Builder. Bei gtk# ist auch glade-sharp dabei, d.h. du kannst glade Dateien laden und durch glade-sharp (also die lib) darstellen lassen. Die glade Datei bearbeitest du mit glade, was es als extra (natives) Programm gibt. D.h. wenn du gerade mal einen Geistesblitz für die GUI hast, brauchst du nicht erst deine IDE zu öffnen und kannst die GUI auch so bearbeiten. Klingt komplexer als es ist.
jd hat geschrieben: Hm. Du schwärmst ja so von Monodevelop, dass ich es mir doch mal ansehen werde. Was verstehst Du eigenlich unter managed code?
Dass wie bei Java ein Garbage Collector im Hintergrund läuft und dir die Arbeit mit dem Speichermanagement abnimmt. Deswegen auch der Kommentar zu free().

jd hat geschrieben: Ich hatte das so verstanden, dass Windows.Forms nur eine API ist, die mit dem OS darunter nichts zu tun hat. Also ähnlich wie bei Java mit SWT. Stimmt das doch nicht?
Keine Ahnung, hab mich mit mit Windows.Forms noch nicht ausseinander gesetzt, mir ist die Gtk API lieber :) Hatte das aber irgendwo mal gelesen.
jd hat geschrieben: Wie läuft das mit Glade bei C#? Erzeugt das direkt Code, oder gibt es eine Lib die den Dialog zur Laufzeit aufbaut?
Nein, wie gesagt, glade-sharp ist die lib die du zum Laden der glade Datei benutzt und um einzelne Widgets rauszuziehen und zu Bearbeiten. Glade (das Programm) ist dazu da, die glade Datei zu bearbeiten, völlig losgelöst vom Code.

Im Programm machst du dann nur sowas:

Code: Alles auswählen


Glade.XML gXML = new Glade.XML( "gui.glade", "Mein Fenster" );

...

Gtk.Widget einWidget = gXML..GetWidget( "MeinWidgetName" );

einWidget.MachWasWidgetSpezifisches();

...

Application.Run();
Die glade Dateien kannst du dann auch in C Programmen u.s.w. benutzen.

Edit: Ok, managed code bedeutet im zusammenhang mit .net ein bisschen mehr, aber ich denke du verstehst worauf ich hinaus will :)

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

Beitrag von jd » 13.06.2005 13:41:29

Beowulf666 hat geschrieben:2 Sekunden vielleicht...
Aber ohne *.jar gehts schneller...
Opps. Da kann man sich nicht beschweren. Das letzte Tool was ich vor Augen habe, ist der Vokabeltrainer "Pauker". Der Startet bei meinen Kids mit Ladezeiten bis zu 40 Sekunden und schlechter. Das ist aber unter Woody mit 2.4er-Kernel, KDE 3.1 und Java 1.4.2.

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

Beitrag von jd » 13.06.2005 13:46:57

Glar00k hat geschrieben:Ansonsten halt das typische wie automatisches Einrücken u.s.w. Leider aber noch kein Automatisches einrücken bei Blöcken, aber ich denke das kommt mit einer der nächsten Versionen (ist ja erst 0.7).
ok, dann doch Emacs. :wink:
Glar00k hat geschrieben:
jd hat geschrieben:Ist glade für C# bei Monodevelop dabei?
Monodevelop ist nur eine IDE. Glade ist dagegen ein Interface Builder. Bei gtk# ist auch glade-sharp dabei,
Sorry, da habe was total falsch formuliert. Eigentlich wollte ich wissen, ob glade in monodevelop irgendwie integriert ist. Sei es direkt oder nur mit "Editier-" oder "Aufruf-Support". Scheint aber nicht der Fall zu sein.
Glar00k hat geschrieben:Klingt komplexer als es ist.
Nö, es ist so wie bei der C++ Version.

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

Beitrag von glar00k » 13.06.2005 13:52:58

jd hat geschrieben: Sorry, da habe was total falsch formuliert. Eigentlich wollte ich wissen, ob glade in monodevelop irgendwie integriert ist. Sei es direkt oder nur mit "Editier-" oder "Aufruf-Support". Scheint aber nicht der Fall zu sein.
Naja, du siehst die glade Datei bei den "Resources", ein doppelklick darauf öffnet Glade mit der Datei. Richtige Integration wird's wohl erst mit Glade 3 geben, dann gibts die Glade UI als Widgets.

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

Beitrag von jd » 13.06.2005 15:29:24

@Glar00k: Du scheinst dich ja mit Glade beschäftigt zu haben. Ich habe bisher meistens FLTK eingesetzt, und mit Glade eigentlich nur gespielt.

Wie geht man bei Glade vor, wenn man Dialoge entwerfen will, die eine spaltenartige Ausrichtung beibehalten sollen, auch wenn der Dialog in der Größe verändert wird. Der QtDesigner kennt dazu kleine Federn.

Beispiel wäre eine Maske, bei der die Lables fix sind, und die zweite Spalte dann variable ist. Dieses Beipiel ist nit zwei Spalten noch recht simpel, aber zum veranschaulichen reicht es.

Code: Alles auswählen

Name:----->[______]
Strasse:-->[______]

comes
Beiträge: 2702
Registriert: 11.03.2005 07:33:30
Wohnort: /dev/null
Kontaktdaten:

Beitrag von comes » 13.06.2005 15:32:43

weil es ja fast ums selbe thema geht!
http://www.debianforum.de/forum/viewtop ... highlight=
grüße, comes

Faschismus ist keine Meinung, sondern ein Verbrechen!
http://sourcewars.de

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

Beitrag von glar00k » 13.06.2005 16:02:25

jd hat geschrieben:@Glar00k: Du scheinst dich ja mit Glade beschäftigt zu haben. Ich habe bisher meistens FLTK eingesetzt, und mit Glade eigentlich nur gespielt.

Wie geht man bei Glade vor, wenn man Dialoge entwerfen will, die eine spaltenartige Ausrichtung beibehalten sollen, auch wenn der Dialog in der Größe verändert wird. Der QtDesigner kennt dazu kleine Federn.

Beispiel wäre eine Maske, bei der die Lables fix sind, und die zweite Spalte dann variable ist. Dieses Beipiel ist nit zwei Spalten noch recht simpel, aber zum veranschaulichen reicht es.

Code: Alles auswählen

Name:----->[______]
Strasse:-->[______]
Hi,

also Gtk an sich scheint da wohl anders aufgebaut zu sein, als QT. Gtk ist stark Container Orientiert, d.h. Im Normalfall platzierst du Widgets nie direkt an einer Position in der Anwendung, sondern steckst deine Widgets in Verschiedene Container. Ist beim zusammenklicken der GUI vielleicht etwas "komplexer", aber der Vorteil ist, dass du dich nicht um die Größe von Containern und Widgets kümmern brauchst. Die Abstände zwischen den Widgets kannst du natürlich auch bestimmen. Für "gutes" GUI Design gibts dann ja auch noch die HIG von GNOME [1].

In deinem Fall könnte das z.B. so aussehen:

Code: Alles auswählen

+--------------- Horizontale Box ------------+
|+---- Vert. Box ----+ | +---- Vert Box ----+|
|| Name:             | | | [____________]   ||
|+-------------------+ | +------------------+|
|| Straße:           | | | [____________]   ||
|+-------------------+ | +------------------+|
+--------------------------------------------+
Wenn das ganze etwas größer wird, kannst du dafür aber auch einfach eine Tabelle nehmen. Die Anpassung der Größe übernimmt Gtk dabei für dich. Du kannst aber z.B. auch sagen, dass die linke Horizontale Box die Größe beibehalten soll und sich nur die Rechte Vergrößern soll. Oder du sagst einfach: Gtk, mach mir den Dialog so groß wie der Inhalt platz braucht und lass den Benutzer das nicht ändern. Wenn dann aber z.B. die Gtk Schrift vergrößert wird, ändert Gtk dann die Größe vom Dialog.

[1] http://developer.gnome.org/projects/gup/hig/2.0/

Edit: warum nimmt [ code ] bei mir keine monospaced schrift?
Edit2: Hab dir mal ein Beispiel mit einer Tabelle hochgeladen: http://mookooh.de/misc/demo.glade

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 » 13.06.2005 18:34:54

Mit Boxes/Tabellen tust du bei Qt normalerweise eigentlich auch. Die "Federn" sind eigentlich nur für die Leerräume.

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

Benutzeravatar
h-man
Beiträge: 745
Registriert: 05.02.2003 13:10:08
Wohnort: Berlin
Kontaktdaten:

Re: Wenn schon Objektorientiert, dann... mit welcher Sprache

Beitrag von h-man » 13.06.2005 19:22:46

jd hat geschrieben:Beruflich bedingt komme ich von der Sprache C einfach nicht los. Das liegt daran, dass die meisten Projekte "embedded" Anwendungen sind. ...
...
Ich entwickle unter Debian und "portiere" dann für die Final-Release nach Windows. Ein Anforderung ist also der "saubere" Betrieb unter Windows und eine "normale" Installation der benötigten Basis. Bei fltk beschränkt sich das auf eine DLL. Für GTK2 gibt es ja schon fertige Installer.
...
das klingt doch so, als bräuchtest du das "einfache" C. libraries für grafik usw. gibt es dafür ja genügend, manche auch objektorientiert strukturiert.

mit erfahrung ist auch portabilität nicht so schwer zu erreichen und man kann den eigenen code hinreichend objektorientiert strukturieren, ohne sich einen abzubrechen.

für mini-embedded projekte ist natürlich noch forth zu empfehlen. nur ist das in letzter zeit etwas aus der mode gekommen.

in deinem artikel wurde zwar deine neugierde auf andere sprachen deutlich, aber ich konnte keinen dringenden grund für einen sprachwechsel erkennen. wenn das stimmt, dann kommen dich künftige projekt in einer neuen sprache wahrscheinlich teuer, was den zeitaufwand für werkzeug-, library- und fehlersuche angeht.

happy computing
Nieder mit der Schwerkraft.

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

Beitrag von jd » 14.06.2005 08:16:47

Glar00k hat geschrieben:also Gtk an sich scheint da wohl anders aufgebaut zu sein, als QT. Gtk ist stark Container Orientiert, d.h. Im Normalfall platzierst du Widgets nie direkt an einer Position in der Anwendung, sondern steckst deine Widgets in Verschiedene Container. Ist beim zusammenklicken der GUI vielleicht etwas "komplexer", aber der Vorteil ist, dass du dich nicht um die Größe von Containern und Widgets kümmern brauchst. Die Abstände zwischen den Widgets kannst du natürlich auch bestimmen. Für "gutes" GUI Design gibts dann ja auch noch die HIG von GNOME [1].
Danke für die Info. Glade erschließt sich einem nicht sofort. Ich habe mir auch mal wxWindows angesehen, da es dafür sowohl Python- und Java-Bindings gibt, als auch ein (wx)Glade, dass auch Python-Code erzeugen kann. Ich dachte immer, dass es zwischen diesen ganzen Glades keinen großen Unterschied gibt. Hier mit Glade2 muss ich sagen, dass es doch erhebliche Unterschiede gibt. Ich werde doch noch mal reinschauen.
Glar00k hat geschrieben:In deinem Fall könnte das z.B. so aussehen:

Code: Alles auswählen

+--------------- Horizontale Box ------------+
|+---- Vert. Box ----+ | +---- Vert Box ----+|
|| Name:             | | | [____________]   ||
|+-------------------+ | +------------------+|
|| Straße:           | | | [____________]   ||
|+-------------------+ | +------------------+|
+--------------------------------------------+
Das habe ich mit wxGlade schon mal so probiert. Hat auch funktioniert, nur gab es hier Probleme mit den Boxen. Diese waren viel größer wie die Widgets und ließen sich leider nicht dazu überreden "geschmeidiger" zu werden. :wink: wxGlade scheint noch ein bischen Buggy zu sein. Ich werde jetzt mal mehr mit Glade2 spielen.
Glar00k hat geschrieben:Gtk, mach mir den Dialog so groß wie der Inhalt platz braucht und lass den Benutzer das nicht ändern. Wenn dann aber z.B. die Gtk Schrift vergrößert wird, ändert Gtk dann die Größe vom Dialog.
Prima, das klingt alles recht gut. Und durch die XML-Dateien dürfte es doch auch recht sprachunabhängig sein. Oder?
Danke für den Link. Ich habe mir das PDF und deine Datei mal runtergeladen.

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

Beitrag von jd » 14.06.2005 08:24:06

peschmae hat geschrieben:Mit Boxes/Tabellen tust du bei Qt normalerweise eigentlich auch. Die "Federn" sind eigentlich nur für die Leerräume.
Ich habe mir QtDesigner eigentlich nie sooo genau angesehen, da mir Qt bei meinem ersten "Kontakt" nicht sooo gut gefallen hat. Zwischenzeitlich hat sich bei Qt ja viel getan, auch wenn so unschöne Details wir moc leider bleiben. Die "Federn" habe ich hauptsächlich auf ScreenShots gesehen.

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

Re: Wenn schon Objektorientiert, dann... mit welcher Sprache

Beitrag von jd » 14.06.2005 08:36:07

h-man hat geschrieben:das klingt doch so, als bräuchtest du das "einfache" C. libraries für grafik usw. gibt es dafür ja genügend, manche auch objektorientiert strukturiert.
Stimmt. Um C komme sowieso nicht drumherum. Aber mit C GUIs zu machen ist ein weniger produktiv wie mit guten OO-Sprachen, deren Runtime mit der GUI Hand in Hand arbeitet. C mit GTK ist zwar prinzipiell "objektorientiert", und zusammen mit der GDK Library passen auch die Datenstrukturen, trotzallem wirkt das Ganze sehr aufgepfropft. Da gibt es wirklich elegantere Lösungswege.
h-man hat geschrieben:mit erfahrung ist auch portabilität nicht so schwer zu erreichen und man kann den eigenen code hinreichend objektorientiert strukturieren, ohne sich einen abzubrechen.
Da mache ich ja zur Zeit. Trotzallem bricht man sich einen ab, wenn man das mit der Arbeit unter C# oder Java vergleicht. Zumindest habe ich so den Eindruck.
h-man hat geschrieben:für mini-embedded projekte ist natürlich noch forth zu empfehlen. nur ist das in letzter zeit etwas aus der mode gekommen.
Aus der Mode gekommen ist gut. Ich habe mir während des Studiums mal die "Forth Bibel" (den Titel habe ich vergessen) ausgeliehen. Forth ist nichts für mich. :wink:
h-man hat geschrieben:in deinem artikel wurde zwar deine neugierde auf andere sprachen deutlich, aber ich konnte keinen dringenden grund für einen sprachwechsel erkennen. wenn das stimmt, dann kommen dich künftige projekt in einer neuen sprache wahrscheinlich teuer, was den zeitaufwand für werkzeug-, library- und fehlersuche angeht.
Für mich ist der Computer noch immer auch ein Hobby. Eine neue Sprache würde ich erst einmal privat an einem Beispiel "probieren". Wenn es dann das hält, was ich mir davon versprochen habe, dann würde ich es auch für ein "echtes" Projekt einsetzen.

Benutzeravatar
Linuxpeter
Beiträge: 236
Registriert: 26.04.2005 22:48:56
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Dresden

Beitrag von Linuxpeter » 14.06.2005 09:02:16

Zu Mono: Es gibt auch Qt-bindings.

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

Beitrag von jd » 14.06.2005 09:36:03

Linuxpeter hat geschrieben:Zu Mono: Es gibt auch Qt-bindings.
Danke für den Link. In den Samples sieht man übrigends, dass man mit C#-Mitteln die Signal-Slot-Umsetzung erreichen kann. Wirklich nett.

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

Beitrag von jd » 14.06.2005 09:39:45

Durch die Qt#-Seite ist mir erst einmal aufgegangen, dass es sich bei dotGNU's portable.NET nicht um eine Library handelt, sondern um eine komplette Umsetzung von C# und dem CLI. Die Webseite ist nicht so aufschlussreich, was die Zielsetzung angeht. Worin unterscheidet sich die von Mono? Die beiden Projekte scheinen sich ja nicht zu ergänzen, sondern eher in Konkurrenz zueinander zu stehen. Oder sehe ich das falsch?

Antworten