Meiner schrieb:
Kenne nur die GTK und die QT libs und weiss nicht was gut/schlecht ist.
Beides sind gute Bibliotheken; ohne allerdings hier Glaubenkriege vom Zaun zu brechen, würde ich eher Qt empfehlen; es ist meiner Meinung nach sauberer konzeptioniert und angenehmer (was u.a. Übersichtlichkeit, Dokumentation und den notwendigen Quellcode betrifft) zu programmieren.
Es gibt noch eine ganze Reihe anderer grafischer Bibliotheken (u.a. Tk, wxWidgets, FOX, Motif, usw.), Qt dürfte aber momentan wohl die beste Wahl sein.
Meiner schrieb:
Hab gehört das ich für QT z.b. c++ noch lernen sollte. Wie ist das? Was würdet ihr mir empfehlen um mich weiterzubilden?
Die Empfehlung bezüglich C++ ist zweifelsohne deshalb erfolgt, weil C++ eine objektorientierte Programmiersprache ist und Objektorientierung und GUI-Programmierung ideal zusammen passen. Ferner sind viele grafische Bibliotheken in C++ programmiert (unter anderem auch Qt).
Man kann zwar auch in prozeduralen Sprachen grafische Oberflächen programmieren, aber mit objektorientierten Sprachen macht es um Größenordnungen mehr Spaß.
Allerdings würde ich - wenn du noch keine anderen objektorientieren Sprachen kennst - erstmal einen weiten Bogen um C++ machen. C++ ist zwar eine sehr mächtige Sprache, aber bedingt durch seine Entstehungsgeschichte hoffnungslos überfrachtet und mit so vielen Fein- und Gemeinheiten versehen, dass sie nur mit sehr viel Erfahrung wirklich produktiv zu nutzen ist.
Wenn du dich weiterbilden möchtest, würde ich bezüglich C eher in Richtung Unix-Programmierung schielen (Stichwort Signale, Prozesse, IPC, usw.).
Für GUI-Programmierung würde ich mir eher eine "ordentliche" objektorientierte Sprache aneignen (meine Empfehlung wäre
Python) und damit in die GUI-Programmierung einsteigen. Für den Einstieg gibt es auch ein erstklassiges Buch, "
GUI Programming with Python: Qt Edition" von Boudewijn Rempt, kostenlos online zu lesen.
Mit dieser Strategie hättest du zwei Welten abgedeckt:
Auf der einen Seite die systemnahe Programmierung mit C, bei der du fast alles händisch machen musst, und auf der anderen Seite Python, die wesentlich höher angesiedelt ist, dir viel Handarbeit abnimmt und durch ihre objektorientierte Natur ideal zur GUI-Programmierung passt.
Für einen abschließenden und wesentlich umfangreicheren Überblick über verschiedene Programmiersprachen und warum sie für welche Zwecke eingesetzt werden sei auf das entsprechende
Kapitel aus "
The Art of Unix Programming" von Eric Steven Raymond verwiesen. Dort findet man einen exzellenten Überblick über die verschiedenen im Unix-Umfeld eingesetzen Sprachen mit ihren Vor- und Nachteilen sowie jeweils einem Beispiel, warum sie für dieses oder jenes Projekt eingesetzt wurden und die Wahl nicht auf eine andere Sprache fiel.