Wechsel zu C++



  • Guten Morgen Community,

    ich habe keinen aussagekräftigeren Titel gefunden. Momentan entwickle ich Desktop Applikationen mit C# und .NET. Die C++ Fanatiker werden jetzt wahrscheinlich denken "Das ist schon dein erster Fehler.", aber man erreicht recht effektiv "schnell" sein Ziel und die pure OOP gefällt mir.

    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.

    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.

    Mir ist wichtig, dass, was auch immer ich nutze, modernes C++ ist und auch gut mit modernem C++ und der boost Library harmoniert, im besten Fall mehr OO als prozedural ist und man damit, am liebsten, gut mit Code::Blocks arbeiten kann.
    Ich bin kein Neuling in C++ und habe schon damals damit programmiert, jedoch nicht auf dem Niveau, wie ich es jetzt mit C# tue. Es muss also nichts sein, was anfängerfreundlich ist.

    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.

    Ich hoffe ich habe genug Informationen gegeben, womit ihr mich in die richtige Richtung richten könnt. :p

    Mit freundlichen Grüßen
    freaky



  • Bin mir nicht ganz sicher, was Deine Frage ist. Willst Du wissen ob man in C++ pur OOP kann oder willst Du wissen was die bessere Programmiersprache ist oder ob du in C++ genauso einfach wie in C# Windows Desktop Anwendungen schreiben kannst oder…?



  • 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.


Anmelden zum Antworten