c++ auch ohne GUI?!



  • Hallo,
    muss man als "C++-Profi" zwingend auch mit GUI's umgehen können?
    Ich weiß nicht, wofür ich GUI brauche?
    Wenn ich mir Informationen ausgeben lassen will, tue ich es über Konsole oder speicher es einfach in ner .txt gut ist.

    Und für das Bedienen gebe ich einfach die commands in der Konsole ein.
    Reicht das nicht?
    Oder muss man in der heutigen Zeit dem User immer ein schönes Interface bieten?



  • Du hast eine ziemlich beschränkte Sichtweise.

    Für dich mag das vielleicht reichen, aber sobald du für andere entwickelst (oder musst) nicht mehr. Nicht jeder kennt sich mit Computern so gut aus um Kommandobefehle einzugeben. Viele wollen das auch gar nicht. Ein sauberes GUI ist imho komfortabler.



  • Man muss aber sagen, dass C++ von sich aus sowas wie "GUI" nicht kennt. Auch "Konsole" kennt es nicht.
    Und dass jetzt GUI Pflicht ist, in heutigen Tagen ein Muss kommt doch ganz drauf an, was man macht! Ich bin eher der Meinung, dass eine GUI das Zuckerl ist, aber reine Funktionalität über Commandline erreichbar sein sollte.
    Aber wie gesagt -> kommt auf den Anwendungsfall an.



  • l'abra d'or schrieb:

    Man muss aber sagen, dass C++ von sich aus sowas wie "GUI" nicht kennt. Auch "Konsole" kennt es nicht.
    Und dass jetzt GUI Pflicht ist, in heutigen Tagen ein Muss kommt doch ganz drauf an, was man macht! Ich bin eher der Meinung, dass eine GUI das Zuckerl ist, aber reine Funktionalität über Commandline erreichbar sein sollte.
    Aber wie gesagt -> kommt auf den Anwendungsfall an.

    std::cout = console output



  • Ich empfinde C++/GUI (z.B. MFC) als sehr schwer.
    Habs mal probiert aber bin nicht sehr weit gekommen.
    Das ist ja wie nochmal eine komplett neue Sprache.



  • cometi schrieb:

    muss man als "C++-Profi" zwingend auch mit GUI's umgehen können?

    natürlich nicht.

    Ich weiß nicht, wofür ich GUI brauche?

    Das ist allerdings traurig.
    Eine gut aufgebaute GUI führt dazu, das der Endanwender eine Aufgabe in 2 Minuten erledigt, für die er sonst (ohne Gui) 20 Minuten braucht.

    tschüß
    Troll.Soft


  • Mod

    .... schrieb:

    std::cout = console output

    Trotzdem geht die Ausgabe nicht an eine eventuelle Konsole sondern an stdout. Komisch. Man könnte fast meinen, dass deine Annahme zur Wortherkunft vollkommen falsch ist.


  • Mod

    Troll.Soft schrieb:

    Ich weiß nicht, wofür ich GUI brauche?

    Das ist allerdings traurig.
    Eine gut aufgebaute GUI führt dazu, das der Endanwender eine Aufgabe in 2 Minuten erledigt, für die er sonst (ohne Gui) 20 Minuten braucht.

    Da kann man aber sehr gut auch das Gegenteil behaupten und belegen, sofern man für computeraffine Leute programmiert.

    Kommt halt ganz darauf an, was man für wen programmiert.

    Ich verdiene auch Geld mit meinen Programmen (bin also "Profi") und alle meine Programme haben keinerlei GUI. Und trotzdem kann man die Programme schnell und effizient bedienen, schneller als mit GUI. Natürlich nicht von meiner Oma, aber die ist auch nicht die Zielgruppe.



  • Das ist allerdings traurig.
    Eine gut aufgebaute GUI führt dazu, das der Endanwender eine Aufgabe in 2 Minuten erledigt, für die er sonst (ohne Gui) 20 Minuten braucht.

    Dafür aber auch dreifacher Programmieraufwand, hohe Fehleranfälligkeit und und und und



  • cometi schrieb:

    Ich empfinde C++/GUI (z.B. MFC) als sehr schwer.
    Habs mal probiert aber bin nicht sehr weit gekommen.
    Das ist ja wie nochmal eine komplett neue Sprache.

    Dann hast du noch nie den C++Builder und die VCL benutzt.
    Damit ist eine GUI entwickeln wortwörtlich ein Kinderspiel.
    Leider kenne ich sonst nichts, was auch nur in die Nähe des C++Builders kommt.



  • Dann hast du noch nie den C++Builder und die VCL benutzt.
    Damit ist eine GUI entwickeln wortwörtlich ein Kinderspiel.

    Das ist es ja.
    Wenn ich z.B. eine kleine MFC-Dialoganwenung erstellen möchte, hat man in paar sek. das Hauptprogramm und braucht quasi nur noch seinen Code/Algorhytmus da irgendwie einbauen.

    Ich fühle mich dabei aber nicht gut, weil da sehr viel Code generiert wird, von dem ich noch nicht mal weiß, was er genau macht. Oder sollte ich es einfach so hinnehmen?!



  • Informationen ausgeben .. über Konsole [..] reicht das nicht? [..] Ich empfinde C++/GUI als sehr schwer [..] Ich fühle mich dabei aber nicht gut

    Also deine anfaengliche Argumentation vom (Un)Nutzen einer GUI hat nichts mit deinen tatsaechlichen Gruenden fuer deine Abneigung zu tun.



  • cometi schrieb:

    Ich empfinde C++/GUI (z.B. MFC) als sehr schwer.
    Habs mal probiert aber bin nicht sehr weit gekommen.
    Das ist ja wie nochmal eine komplett neue Sprache.

    Kurz gesagt: Du akzeptierst deine Inkompetenz nicht.



  • Naja ich hab den Einstieg in die MFC versucht und hes hat mir nicht ganz gefallen. Daraufhin hab ich überlegt ob ich zwingend überhaupt GUI brauche 🙂

    and by the way:
    Ist GUI mit Java eigentlich schweriger oder einfacher als c++?



  • cometi schrieb:

    Wenn ich z.B. eine kleine MFC-Dialoganwenung erstellen möchte, hat man in paar sek. das Hauptprogramm und braucht quasi nur noch seinen Code/Algorhytmus da irgendwie einbauen.

    Ich fühle mich dabei aber nicht gut, weil da sehr viel Code generiert wird, von dem ich noch nicht mal weiß, was er genau macht. Oder sollte ich es einfach so hinnehmen?!

    Verstehe nur Bahnhof!!
    Wenn Du ein "hallo world" als Einzeiler in C baust, dann steckt im Endergebnis eine Menge Code den Du vermutlich noch nie gesehen hast ( ich übrigens auch nicht ) und wohl auch nicht auf Anhieb verstehst.
    Ich habe egal ob Windows oder Linux immer auch eine Konsole am laufen, wiel manches ( aber wirklich nur manches ) in einer Konsole einfacher ist. Vieles andere ist mit einer Gui einfacher, und der unbedarfte Anwender kann mit einer Konsole schon garnichts anfangen.

    tschüß
    Troll.Soft



  • cometi schrieb:

    Naja ich hab den Einstieg in die MFC versucht und hes hat mir nicht ganz gefallen. Daraufhin hab ich überlegt ob ich zwingend überhaupt GUI brauche 🙂

    and by the way:
    Ist GUI mit Java eigentlich schweriger oder einfacher als c++?

    Es kommt aufs Framework an, welches du in C++ benutzt. Einfacher als MFC, aber schwieriger als z.B. mit Qt.

    Aber allein die Frage zeigt schon, dass du nicht genug Grundwissen in C++ hast um dich überhaupt mit der GUI Programmierung richtig zu befassen.



  • cometi schrieb:

    Hallo,
    muss man als "C++-Profi" zwingend auch mit GUI's umgehen können?

    Damit umgehen von Anwenderseite her sowieso.
    Damit umgehen = den Code zumindest grob annähernd verstehen solltest du, wenn du für ein Projekt arbeitest in dem eine GUI benutzt wird, die von anderen implementiert wird: eine kurze Einarbeitung in die für dich relevanten Bereiche des GUI-Frameworks sollte reichen.

    Ich weiß nicht, wofür ich GUI brauche?
    Wenn ich mir Informationen ausgeben lassen will, tue ich es über Konsole oder speicher es einfach in ner .txt gut ist.

    Für den Hausgebrauch als Hobby-Programmierer reicht das. Im professionellen Bereich wenn du ein GUI-fernes Modul betreust/entwickelst und dir dafür eine Schnittstelle für debug ein- ud Ausgaben bastelst, die du mit geeigneten Tools weiterverarbeitest reicht das auch, ist sogar meist besser als ne GUI. Für den Endanwender der alles schön auf einen Blick haben will und eine benutzerfreundliche Oberfläche braucht, reicht das nicht.

    Wenn du also nur für den Hausgebrauch und für die Übung entwickelst, brauchst du keine GUI. Größere Anwendungen ohne GUI wirst du aber in den meisten professionellen Bereichen kaum an den Mann bringen können.



  • Wenn du C++ mit einer GUI benutzen willst, dann nimm Borland bzw. Embarcadero RAD Studio, und nicht das furtchtbare MFC von Microsoft.

    Wenn du aber unbedingt Visual Studio benutzen willst und damit eine GUI machen willst, dann nimm als Sprache C# und als GUI entweder WinForms, oder noch besser WPF.



  • Wenn Du ein "hallo world" als Einzeiler in C baust, dann steckt im Endergebnis eine Menge Code den Du vermutlich noch nie gesehen hast ( ich übrigens auch nicht ) und wohl auch nicht auf Anhieb verstehst.

    Nagut was der Compiler/Linker nachher draus macht, ist mir im Prinzip egal.
    Aber wenn ich ein neues MFC-Projekt eröffne und er da schon 1000 Dateien, Codezeilen, Ressourcen anlegt, find ich es nicht so toll wenn ich das nicht verstehe.

    Gibt es sonst alternativ ein einfacheres (evtl. auch übersichtleres) GUI Framework? Wo ich nicht gleich 5000 Seite Quelltext bekomme, wenn ich nur mein Programm in eine Dialogbox stecke 😃

    Aber allein die Frage zeigt schon, dass du nicht genug Grundwissen in C++ hast um dich überhaupt mit der GUI Programmierung richtig zu befassen.

    Das muss du mir genauer erklären, warum eine Frage zur einer neuen Materie aussagt, dass ich die Grundbasic nicht behersche?



  • Cybertec schrieb:

    Wenn du C++ mit einer GUI benutzen willst, dann nimm Borland bzw. Embarcadero RAD Studio, und nicht das furtchtbare MFC von Microsoft.

    Oder QT, wxWidget, ultimate++... (und wie sie alle heißen).

    Ich bin weder ein Fan der MFC noch der VCL. Ersteres weil es imho eines der schlechtest umgesetzten UI-Frameworks ist. Letzteres weil es zu stark an einen Anbieter gebunden ist, schon in der Vergangenheit mal etwas fallen gelassen wurde, die Komponentenhersteller immer rarer werden [was auch an der Rückläufigen Verbreitung von C++ Builder/Delphi liegt] und zu guter Letzt weil es einige kleinere Inkompatibilitäten hat (Kommt nunmal als der Delphiwelt, und ist nicht vorrangig ein C++ Framework). Beispielsweise kann man sich nicht sicher sein das ein VCL-Typ der per konstanter Referenz Übergeben wird, nicht änderbar ist (TDateTime ist so ein Kandidat). Zudem sind mir Beide Frameworks zu sehr mit Zeigern überladen (Nichts gegen Zeiger, aber man kann es auch übertreiben).



  • cometi schrieb:

    Gibt es sonst alternativ ein einfacheres (evtl. auch übersichtleres) GUI Framework? Wo ich nicht gleich 5000 Seite Quelltext bekomme, wenn ich nur mein Programm in eine Dialogbox stecke 😃

    ja

    hier ist der Code zu einem Gui-hallo-world

    #include <QtCore>
    #include <QtGui>
    
    int main	( int Argc, char ** Argv ) 
    //######
    {
        QApplication	App(Argc, Argv);
    	QPushButton		Button("hallo world");
    	Button.show();
    	App.exec();
    }
    

    funktioniert perfekt.
    Einarbeitungszeit muß mitgebracht werden 🙂

    tschüß
    Troll.Soft


Anmelden zum Antworten