Anwendungsprogrammierung



  • Ich wollte gerne mit der Konsolenprogrammierung abschließen und nun eventuell mit der Anwendungsprogrammierung anfangen. Nun stellt sich die Frage wie am besten? Ich stelle mir vor zum Anfang eventuell einen Taschenrechner oder so etwas in der Art. Ich hoffe ihr könnt mir weiterhelfen.

    Mfg



  • Für GUI Programmierung in C++ kann ich das Qt Framework empfehlen (in Kombination mit dem QtCreator). Arbeite damit an einem Projekt und bin ziemlich zufrieden damit. Gibt auch sehr viele gute Tutorials dazu und es ist gut dokumentiert.



  • Kleiner Tipp:

    Schau dir erst mal QT an und probier mal ein paar Sachen aus. Danach schreibst du denn Taschenrechner für die Konsole und baust ihn dann mit QT zusammen. Meiner Meinung nach kommt man so am schnellsten voran.



  • Für GUI Programmierung in C++ kann ich das Qt Framework empfehlen (in Kombination mit dem QtCreator). Arbeite damit an einem Projekt und bin ziemlich zufrieden damit. Gibt auch sehr viele gute Tutorials dazu und es ist gut dokumentiert.

    Schau dir erst mal QT an und probier mal ein paar Sachen aus. Danach schreibst du denn Taschenrechner für die Konsole und baust ihn dann mit QT zusammen. Meiner Meinung nach kommt man so am schnellsten voran.

    Das hört sich gut an. Nur meine Frage lade ich mir QT nun einfach runter und dann? :s



  • Der QT Creator hat sehr viele Beispiele für verschiedene Anwendungen bereits dabei, auch für einen Taschenrechner -> http://qt-project.org/doc/qt-5/qtwidgets-widgets-calculator-example.html



  • Hört sich ziemlich gut an. Bin noch nicht soweit, aber denke so werd ich auch mal starten. Prinzipell ist der ausführende Code ja eh grob "Konsolencode", der dann in Bildchen und Buttons verpackt wird oder?

    Wenn du mit "Konsolencode" einfach nur "Code" meinst: Ja. Es ist eine gute Praxis, Logik und Darstellung zu trennen. Auch bei Konsolenprogrammen sollte man das so handhaben.



  • Ich bin auch noch C++ Anfänger und kann Qt nur empfehlen. Die im Qt-Creator eingebaute Hilfe ist sehr gut, genauso wie die Online-Dokumentation. Tutorialserien zu Qt gibt es zuhauf. Ich habe einige IDEs und Frameworks angetestet, aber mit Qt und dem Creator bin ich ganz schnell warm geworden. Ich komme damit einfach am entspanntesten zum Ziel und bin dabei geblieben.



  • Wenn ich damit nun anfange, downloade ich mir zuerst den Installer, installiere es und kann es öffnen und direkt verwenden?

    Sind die Schlüsselwörter anders als in der Konsole? Ist der Einstieg etwas schwerer, und wie weit muss ich in der Konsole sein?

    Es wäre nett wenn mir jemand diese 3 Fragen beantworten könnte 😃



  • Wer solche Fragen stellt ist eigentlich (noch) nicht geeignet für die Programmierung.



  • ichhoffedasistfalsch schrieb:

    Wer solche Fragen stellt ist eigentlich (noch) nicht geeignet für die Programmierung.

    👍

    Außerdem scheinst du mir zu viel Wert auf die Unterscheidung zwischen "Konsolenprogrammierung" und "Anwendungsprogrammierung" zu legen. GUI Programmierung ist meist nur ein Nebenaspekt. Klar, kann recht aufwändig sein und viel Zeit kosten, aber das ist meist nicht der Kern des Programms. Bei dem Kern des Programms ist es völlig egal, ob du jetzt für die Konsole programierst oder eine grafische Oberfläche drumherum baust, oder sogar ein Webfrontend. Stell dir vor, du hast ein "Programm" geschrieben, dass fehlerhafte Meshes reparieren kann. Das ist ziemlich kompliziert. Es ist jetzt doch völlig egal und nebensächlich, ob du das als Kommandozeilentool verpackst, das zwei Parameter für Eingabe- und Ausgabedatei bekommt, oder als GUI Tool, bei dem es einen Knopf gibt, um die Datei zu laden, und einen, um die Verarbeitung zu starten. Ist völlig nebensächlich und wenn du eine GUI brauchst, dann schreibst dir halt schnell eine GUI. Das ist jetzt nicht das, was Anwendungsentwicklung ausmacht.



  • +1 👍

    Der Unterbau ist ein Entwicklungsschritt für sich. Ob der Unterbau dann über die Konsole angesprochen wird oder über eine GUI ist ein ganz andere Teil. GUI ist nichts weiter als eine Library zu benutzen, welche dann die Elemte auf dem Schirm zeichnet oder vom OS zeichnen lässt. Die GUI-Elemente sind Klassen, die man halt einfach benutzt, oder man Klick sich seine GUI zusammen, was ich bevorzuge. Da man grafisch einfach schneller layouten kann, in meinen Augen. Gerade so Sachen, die sich ändern sollen, wenn sich z.B. die Fenstergröße ändert und welche Sachen eben nicht etc., macht in einem GUI-Designer viel mehr Spaß, als wenn ich das händisch ausprogrammieren muss. Nicht desto trotz sollte man auch eine kleine GUI-Zusammenstellung mal manuell programmiert haben, denn manchmal hat man auch dynamische Elemente, die man halt wirklich aus dem Programm erzeugen muss. Es kommt halt immer auf dein Projekt an, die Arbeit mit der GUI kann auch sehr komplex werden, z.B. bei CAD, UML-Editor, Zeichenprogramm etc. oder die Arbeit mit der GUI ist der geringste Teil, wie bei einem Taschenrechner, der dann so Sachen wie Klammerrechnung etc. beherrscht.

    Den Qt-Creator installierst du und startest ihn dann, das ist ein ganz normales Programm wie Word oder Photoshop. Du hast dann darin Module zum Editieren von Quellcode, zum Layouten von GUIs, zum Debuggen, zum Profilen und ein Modul für die Hilfe(Die kannst du auch als kleines Fenster jederzeit bei einem Qt-Element mit F1 einblenden lassen. Du hast also sehr schnellen Zugriff auf die QT-Referenz ohne dabei online gehen zu müssen. Eine Offline C++ Referenz wäre noch schön in meinen Augen.

    Um mit GUI-Klassen umgehen zu können, ist es sehr hilfreich, wenn man die OOP-Grundlagen von C++ auch kennt. Ich bin da auch noch kein Experte, aber hier gibt es sehr viele Profis die einen weiterhelfen. Ich habe hier sehr lange passiv mitgelesen und wurde es mal Zeit etwas aktiver zu werden.

    Und denke daran, aus Fehlern machen lernt man am besten. Bücher und Tuts sind ok für den Überblick, aber so richtig macht es erst Klick, wenn du deine eigenen Fehler für Fehler eliminierst. Und wenn du merkst das Grundlagen fehlen, dann geh immer mal wieder zurück zum Start und hole das nach. Alles baut aufeinander auf.



  • gelöscht



  • Okay danke für die Antworten! 🙂
    Dann werde ich mal weiter "üben" oder besser gesagt lernen 😛


Log in to reply