Xfire
Anmeldungsdatum: 31. Oktober 2006
Beiträge: Zähle...
Wohnort: Bremen
|
Hallo, ich bin gerade dabei C++ zu erlernen. Nun würde mich doch wirklich interessieren, worin der Unterschied beim Programmieren bei diesen OS besteht. Geht es dabei nur um den Einsatz von anderen Bibliotheken oder erfolgt die Programmierung anders ? Schönen Gruss Xfire www.lost-reality.de -Multigaming Gemeinschaft-
|
Vegeta
Anmeldungsdatum: 29. April 2006
Beiträge: 7943
|
Die Programmierung ist eigentlich dieselbe, so lange du keine systemspezifischen Funktionen benutzt, lassen sich die Sourcen ohne Anpassung unter Windows wie auch Linux kompilieren. Wenn du dich weitgehend unabhängig vom OS machen möchtest, dann wäre ein Blick auf z.B. Qt sicherlich nicht verkehrt.
|
Xfire
(Themenstarter)
Anmeldungsdatum: 31. Oktober 2006
Beiträge: 9
Wohnort: Bremen
|
Danke für die Antwort, ich werde mir mal Qt anschauen... 😀
|
Kopfgeldjaeger
Anmeldungsdatum: 24. Dezember 2006
Beiträge: 1168
|
Qt hat aber eigentlich nich direkt was mit dem Programmieren für die beiden OS zu tun 😉 Solange du nicht unbedingt die WinAPI benutzt solltest du keine größeren Probleme haben.
|
Vegeta
Anmeldungsdatum: 29. April 2006
Beiträge: 7943
|
Kopfgeldjaeger hat geschrieben: Qt hat aber eigentlich nich direkt was mit dem Programmieren für die beiden OS zu tun 😉
Mit Qt kann man plattformunabhängig (Linux, Mac und Windows) programmieren, anstatt für jedes OS einzeln programmieren zu müssen. Wenn man sich viel Arbeit sparen möchte, kommt man kaum an Qt oder einem anderen Framework vorbei. Außerdem kann man C++ mit Qt leichter erlernen und auch schneller Programme erstellen, als wenn man sich auf C++ "beschränken" würde. Aber jeder wie er möchte 😉
|
useYbrain
Anmeldungsdatum: 14. Januar 2007
Beiträge: 696
|
GTK+ geht doch auch..? Oder irre ich mich da?
|
Vegeta
Anmeldungsdatum: 29. April 2006
Beiträge: 7943
|
Pot hat geschrieben: GTK+ geht doch auch..? Oder irre ich mich da?
Yap, natürlich ☺ Habe damit allerdings selber noch keine Erfahrungen gesammelt. Neben Qt, GTK+ gibt's auch noch wxWidgets, Ultimate++, SmartWin++ und wer weiß was sonst noch ☺
|
Hello_World
Anmeldungsdatum: 13. Juni 2006
Beiträge: 3620
|
Oh Gott, lasst um Himmels Willen die Finger von nacktem gtk! Wenn ihr ein C++-Programm mit einem gtk-Interface schreiben wollt, dann verwendet bitte auch gtkmm, die C++-Variante von gtk. Wobei man noch sagen muss, dass Qt _wesentlich_ mehr kann als gtkmm, denn bei Qt gibt es auch Klassen für Netzwerkfunktionen, Festplattenzugriff, Threading usw. usf., das fehlt meines Wissens alles in gtk.
|
Sid_Burn
Anmeldungsdatum: 23. Oktober 2004
Beiträge: 2159
|
Bin zwar kein C++ Programmierer, aber ich würde dir lieber WxWidget Empfehlen. Auf dauer hast dud a mehr von. Gründe sind da eher die restriktive GPL unter der QT steht. Den diese erlaubt es dir nur Programme zu entwickeln die ebenfalls unter der GPL stehen. Aber vielleicht möchtest du ja gar keine Programm unter der GPL Lizenz stellen? Vielleicht möchtest du ja auch eine andere Open Source Lizenz auser die GPL nutzen? Open Source besteht jedenfalls nicht nur aus der GPL Lizenz. Oder vielleicht möchtest du auch mal ein Programm verkaufen, oder eben mal keine Open Source Software entwickeln? Wxwidget ist da wesentlich freier und erlaubt dir all solche Sachen. Mit QT geht es auch. Allerdings musst du dir dann QT Kaufen! Ansonsten ist WxWidget auch mehr als nur ein GUI Toolkit, enthält also auch Libraries für Threading, HDD Zugriff, Netzwerk etc. Ich würde mir jedenfalls bei der Wahl des Frameworks auch mehr Gedanken machen. Nachher lernst du QT und in 2 Jahren ärgerst dich das alle deine Programme auf einmal unter der GPL stehen müssen, außer du kaufst natürlich QT. Ich würde jedenfalls die Lizenz nicht ganz auser acht lassen.
|
Doener
Anmeldungsdatum: 13. April 2006
Beiträge: 1647
Wohnort: Berlin
|
Ich finde das Lizenzmodell von Trolltech bezüglich QT eigentlich echt gut. Entweder du nimmst aus der Community (das Framework) und gibst an sie zurück (das Programm unter GPL) - oder du kaufst dir halt die Lizenz von Trolltech, um das Programm kommerziell zu vermarkten und hilfst so trotzdem bei der Entwicklung Freier Software, indem QT mit dem Geld verbessert wird.
|
Bef
Anmeldungsdatum: 8. Juli 2006
Beiträge: 306
|
Es kommt auch noch ein bisschen darauf an, was du programmieren möchtest. Ich persönlich arbeite im Moment dieses Buch hier durch, das sich mit 3D Programmierung unter Linux beschäftigt. Für Computerspiele wären QT oder Wxwidgets ziemlich overkill, statdessen ist z.B. SDL besser geeignet. Das genannte Buch macht es aber gleich richtig und befasst sich eingehend mit dem Design von Platformunabhängigen Programmen, ohne das Verwenden von solchen High-level Bibliotheken. Dabei wird der plattformunabhängige Kern des Programms vom platformabhängigen getrennt. Mit Hilfe der Fabrikmethode wird das ganze so realisiert, dass der Platformabhängige Code fast Pluginartig zum Programm hinzugefügt und ergänzt werden kann. Das Buch kann ich nur empfehlen, ist meiner Meinung nach das beste Programmierbuch, das ich bisher gelesen habe (bin zwar noch lange nicht fertig, das kann ich aber jetzt schon sagen). PS: Wenn du bei dem WIKI-Artikel nur Bahnhof verstehst, dann lass dich nicht abschrecken... im Buch habe sogar ich das verstanden (will was heissen 😉)
|
TheImaginator
Anmeldungsdatum: 5. Februar 2007
Beiträge: 20
Wohnort: Schwäbisch Hall
|
Linux ← → Windows Kaufen, Lesen, Verstehen. Danach weißst du dann ob du für Linux bzw. Windows programmieren willst. Gruß TheImaginator
|
sonium
Anmeldungsdatum: 21. März 2005
Beiträge: Zähle...
|
Für Ubuntu ist natürlich GTK+ nativer. (Gnome basiert auf GTK) Ich hab damit eigentlich ganz gute Erfahrungen gemacht. Bei wxWidgets sehe ich den Vorteil nicht wirklich, da GTK unter Windows genauso verfügbar ist und man keinen zusätzlichen Overhead mitschleppt. Und Sachen wie Threading kann GTK auch. Letztendlich ist es aber immer noch Geschmackssache welche Library man nun verwendet. Ich finde GUI Programmierung so und so nervig.
|
hackepeter
Anmeldungsdatum: 8. Januar 2006
Beiträge: 185
Wohnort: München
|
Hallo XFire, zu den GUI Libs kann ich nichts sagen. Aber wenn du unter Windows Gygwin installierst und make verwendest, ist der ganze Prozess recht portabel. D.H. du entwickelst auf einem OS und kannst dann problemlos auf dem Anderen übersetzen. Es gibt ja auch portable Editoren o. IDEs: gvim, geany - oder Geheimtipp Source Navigator (in den Ubuntiu Repositories unter 'sourcenav'). Wenn du unter Windows mit VisualC++ arbeitest, beachte das der strenger auf den Standard achtet als der g++. Portabel Projekt- bzw. Makefiles sollte auch CMake erzeugen können (habe ich selbst aber noch nicht getestet). Ansonsten gibt's die üb(l)ichen Problembereiche wenn du systemnah programmierst. Gruß HP
|
TheImaginator
Anmeldungsdatum: 5. Februar 2007
Beiträge: 20
Wohnort: Schwäbisch Hall
|
Achso, was ich noch sagen wollte: Irgendjemand hatte doch gtkmm empfohlen. Meiner Meinung nach ist das absoluter Overhead. Solange dir bei der Benutzung von Klassen keiner abgeht, solltest du die "Grund-Library" GTK+ benutzen, welche mit einem objektorientierten Ansatz entworfen wurde (ja! Sowas geht auch in C). gtkmm kappselt das alles bloß noch in "echte" Klassen. Bringt also absolut keinen Vorteil, bis auf den, dass es vielleicht sogar noch langsamer läuft (klassenbekloppte Javaner sehen das gerne als Vorteil. Verstehe das wer will). Gruß TheImaginator
|