Neuorientierung

maynard

Cadet 2nd Year
Registriert
Jan. 2005
Beiträge
31
Tach...

Langsam wird es Zeit, mich neu zu orientieren, was die Sprache und das FrameWork angeht. Bisher hab ich (fast) alles in Delphi und mit der VCL erledigt. Nebenbei hab ich mich mit C++ beschäftigt und die Sprache überzeugt mich immer mehr. Da die VCL nun nicht mehr weiterentwickelt wird und durch .NET ersetzt ist, frage ich mich nun, ob ich auf eine .NET - fähige Sprache umsteigen soll oder bei C++ bleibe und mich einfach in ein gängiges FrameWork einarbeite??? Ich hab schon von verschiedenen Nachteilen von .NET gehört und deshalb frage ich mich, ob es tatsächlich Sinn macht, mich darauf festzulegen. Was könntet ihr mir empfehlen? Was mich auch interessiert: War ehrlich gesagt, zu faul um mich durch die trolltech - hp durchzuforsten ... Was könnt ihr mir zur Lizensrechtlichen Dingen und zum Kostenfaktor der Qt - Bibliothek und dem Qt - Designer sagen und was meint ihr zu wxWidgets??

Mfg & und besten Dank für die Aufmerksamkeit
 
Qt:
Wenn du Qt unter Linux einsetzen willst, dann steht die Bibliothek unter der GPL. Qt ist dort als wirklich "frei". Du bekommst auch den Quellcode zur gesamten Bibliothek.
Unter einer Voraussetzung. Nämlich, dass du keine kommerziellen Programme damit schreiben willst.
Wenn du deine Programme Closed-Source schreiben willst, dann muss du Qt kaufen.

Für Windows gibt es eine "non-commercial" Version von Qt. Leider ist diese nicht zum Runterladen gedacht, sondern nur in Verbindung mit dem Kauf eines , wirklich lohnenswerten, Buches zu haben.
Diese Version ist somit quasi auch kostenlos und erlaubt es nicht kommerzielle Software zu schreiben. Die geschriebenen Programme zu verschenken ist OK. Ob dann der Quellcode veröffentlich werden muss weiß ich nicht.

Wie unter Linux gibt es natürlich auch Qt für Windows zum Kaufen. Damit kannst du kommerzielle closed-source Software schreiben.

Die Kosten der kommerziellen Versionen sind doch sehr leicht auf der Trolltech-Seite zu finden ;).

Oberflächen basteln mit dem Qt-Designer ist eine wahre Freude. Das Programm ist genial! So schnell hast du mit keinem anderen GUI-Designer eine Oberfläche zusammengeklickt und diese in dein Programm integriert.

wxWidgets kenn ich nur vom Namen her.
Was ich aber in anderen Foren so gelesen habe, und Codeschnipsel, die ich gesehen habe, zeigen mir, dass Qt besser zu sein scheint. Es ist technologisch weiter entwickelt und einfacher als wxWidgets.
Wie die Lizenz von wxWidgets aussieht weiß ich nicht.
 
is halt die frage was du machen willst. qt hat mich auch sehr überzeugt - bisher die beste gui bibliothek die ich gesehen habe. wxWidgets soll sehr mfc ähnlich sein, wenn auch wesentlich konsistenter und besser. allerdings sind für guis soweit ich weiß gtk und qt trotzdem weitaus besser geeignet (ich glaube bei wxwidgets gibt es keine layoutmanager? oder zumindest net so gute nwie bei gtk/qt).

allerdings hat auch Qt einige nachteile. die das man die windows noncomercial-version nur mit einem guten buch bekommt ist ja nicht weiter tragisch - aber was man da am ende bekommt ist leider sehr arm. die non-comercial version wurde extra für das buch compiliert - und zwar OHNE optimierungen. damit sind der ohnehin langsame xmlparser, opengl unterstützung und qcanvas praktisch nutzlos, läuft alles viel zu langsam.

desweiteren ist bisher nochnicht sicher ob und wann es wieder eine noncomcerial windows version von qt 4 geben wird das gerade vor der tür steht. hoffe kann man es allerdings nur den qt4 hört sich verdammt vielversprechend an.

am besten ist du guckst dir selbst mal alle 3 frameworks an. gtk-mm, qt und wxwidgets sollen ja auch recht einfach zu erlernen sein - bei qt kannst du aufjedenfall nach einem nachmittag doku lesen schon kleinere tools schreiben um dir selbst ein genaueres bild zu machen.
 
Es gibt ja noch nicht mal eine noncommercial der 3er Version. :D
Nicht zu vergessen ist auch das excellente Dateihandling von QT. Damit lassen sich dann tatsächlich Anwendungen bauen, die man ohne weiteres von Win auf Linux portieren kann. :)
Hab ich selbst zuletzt bei einer größeren Anwendung machen können.
 
Ich glaube in .NET und ähnlichen Technologien (zB. EJB) liegt die Zukunft, da sie einige entscheidende Vorteile gegenüber den althergebrachten OO-Sprachen bietet. Ich habe schon ein par Erfahrungen mit C# gemacht und bin schwer beeindruckt. Es ähnelt meiner Meinung nach aber mehr Java als C++. Nachteil ist derzeit noch, dass keine OpenSource Implementierung existiert und man somit an eine Firma gebunden ist, aber ich glaube schon, dass es Sinn macht sich damit zu befassen.
 
Green Mamba schrieb:
Es gibt ja noch nicht mal eine noncommercial der 3er Version. :D
Nicht zu vergessen ist auch das excellente Dateihandling von QT. Damit lassen sich dann tatsächlich Anwendungen bauen, die man ohne weiteres von Win auf Linux portieren kann. :)
Hab ich selbst zuletzt bei einer größeren Anwendung machen können.

das stimmt aber net. wiegesagt is die qt 3.2 noncomercial in einem buch zu Qt zu finden.

Auch wenns net hier her passt: ich glaube kaum das .net wirklich zukunft hat. es wird derzeit genauso gehypt wie es java wurde aber wirklich irgendwas besonderes ist da nich dran. die zukunft liegt derzeit ganz klar in plattformübergreifender entwicklung. alternative betriebsysteme legen derzeit ziemlich stark zu. alein dadurch disqualifiziert sich .net denn wirklich unabhängig wird es dank microsoft nie werden.

ausserdem gibt es auch nichts das c# könnte was c++ nicht auch kann...
 
Zuletzt bearbeitet:
Tach...

Endlich mal ein bischen .NET contra, nach dem ganzen Lobgesängen auf anderen Seiten. Über .NET ansich kann ich mir noch kein Urteil erlauben, da ich mich erst seit ein paar Tagen damit beschäftige, aber die erste .NET - Sprache, die ich mir angeschaut habe (C#) begeistert mich nicht besonders. Im Buch steht zwar, dass sich C++ Programmierer recht schnell daran gewöhnen, aber bei solchen Sachen stehen mir die Haare zu Berge:

Code:
public new float CalculateCharge(float hours) {...}
Diese Syntax um eine Methode der Basisklasse zu verdecken, ist echt zum fürchten. Viel kann ich auch zu C# nicht sagen, aber was ich bis jetzt gesehen hab, überzeugt mich nicht so ganz. Welchen Sinn macht es zb. für jede Methode / Feld den Sichtbarkeitsbereich direkt bei der Deklaration anzugeben? Oder muß der Einsprungspunkt unbedingt eine statische Methode sein? Das macht für mich eigentlich nur klarer, dass C++ die ideale Schnittmenge aus prozeduraler Programmierung und OOP darstellt. Gut die Speicherbereinigung is ansich ne feine Sache, nur verleitet sie, die Programmierer noch gedankenloser zu arbeiten. Das einzige, was mir wirklich gefällt, is dass man wie bei Delphi Zugriffsmethode hinter Eigenschaften verbergen kann.

Mir würde es ja mehr als gefallen, wenn .NET nicht zum Standart wird und mir dann auch noch einer QT sponsored ... wäre ideal ;)

MfG
 
Zurück
Oben