A
freaky schrieb:
Daher habe ich mir unter anderem WxWidgets und Qt angeschaut. Beide klingen für mich jedoch sehr ähnlich und die Entscheidung fällt mir schwer. Vielleicht ist sogar eine andere Library besser für mich.
Tendenziell würde ich zu Qt raten, scheint zumindest das im professionellen Bereich verbreitetere zu sein. Wirklich "modern" ist imho aber nahezu kein C++ UI-Framework.
freaky schrieb:
Ich möchte einfach auf der Arbeit effizient für den üblichen Kunden Desktop Anwendungen schreiben können, die, wenn richtig programmiert, schnell und flüssig laufen und optischer Schnickschnack ist zweitrangig.
Effizient? Im Sinne einer möglichst hohen Performance oder einer möglichst schnellen Umsetzung? Du kannst in der Regel nicht beides haben (wenn du nicht gerade Geldscheißer als Kunden hast).
Schnelle Entwicklung: Hier rate ich tendenziell eher zu C#
Performance: Wäre ein Argument für C++
freaky schrieb:
Jedoch möchte ich mich weiterbilden und nicht nur an Windows und das .NET Framework gebunden sein. Dazu kommt auch, dass man schon bei Programmen, die nur kleine Aufgaben bewältigen sollen, den ganzen Overhead mit schleppt und das Programm ohne Framework nicht läuft.
1. Den "Overhead" schleppt man in der Regel nicht wirklich mit (zumindest sind die Dateigrößen häufig kleiner, eben weil viel an das Framework ausgelagert ist.
2. Das .Net Framework ist in der Regel unter Windows auch vorhanden. Welche Version muss man aber nachschauen. Zudem sind viele der Frameworkversionen Implace-Installationen, sprich das neuere ersetzt das Ältere (Es gibt 3 große Versionen: 1.x, 2.x-3.x, 4.x in denen die jeweils höchste Version die vorherigen ersetzt und innerhalb dieser Versionsbereiche kompatibel ist).
Wichtiger für die Entscheidung für C++ oder C# ist daher meines Erachtens das, was man erreichen will, und welche Mittel einen dazu zur Verfügung stehen. In C# wird einen sehr viel abgenommen, das in C++ entweder händisch umgesetzt werden muss oder mit zusammensuchen aus unterschiedlichen Bibliotheken (Die nicht selten unterschiedliche Konventionen nutzen) verbunden ist. Dafür hat man in C++ weit mehr Stellhebel und kann auch performantere Programme liefern. Nach meiner Erfahrung wollen Kunden aber eine Ware möglichst gestern, und dafür auch noch wenig zahlen - schneller zum Ziel kommt man mit C#. Man muss immer abwägen zwischen dem was Kunden bereit sind zu zahlen, und was realistisch damit machbar ist.