Visual Basic vs. C++



  • Blackbird schrieb:

    Denn als ich anfing, gab's noch keine "GUI". Nur 8 Stellen 7-Segment-Anzeigen und im besten Fall mal ein 16x40- oder 25x80-Zeichen-Monitor.
    Bin ich deswegen ein noch besserer "Programmierer"?
    Sicher nicht.

    sicher nicht. denn du kapierst nichmal die einfachsten zusammenhänge, die ich aufzeige.
    das schlimme am frühen gui-coden sind die komplexen (und verkorksten) bibliotheken. könnte man einfavch hinschreiben, was man will, wäre alles ok. aber man muß von anderen klassen erben, greift auf protected(!) members zu, verläßt sich euf ein delete this; im basisklassendestruktor, hat lauter asserts, die nicht zu RAII passen und keine exceptions, hat inkonsitente bezeichner und schnittstellen vor sich, kriegt einen stil mit monsterklassen mit 10 attributen und 30 methoden vorgemacht. in so einer total verrückten welt *kann man einfach nicht* gescheit programmieren lernen. also lernt man ungescheiten unfug. wäre ja in java oder c# nicht weiter schlimm. da lernt man erst mist und steicht später sanft auf immer unmistigeren code um. und genau das klappt in c++ nicht, weil c++ viel zu komplex für solche späße ist. die höheren konzepte begreift man falsch, wenn die basiskonzepte falsch sitzen. höhö. verkackt. und sowas zu korrigieren dauert etliche jahre. mindestens. ich vermute aber sogar, daß sich sowas in aller regel nicht ausheilt. denn ich kenne einfach zu viele programmierer und lese deren code und sehe leute mit stabilem stil, der absolut fehlerträchtig ist. also leute, die einfach in ihrer entwicklung irgendwann sehr früh stehengeblieben sind. vieles davon schiebe ich auf verkorksung durch frühe verwirrnis duch schlechte beispiele, vor allem gui-code.



  • Auch ein GUI-API will gut designed werden. Man muss ja nicht immer gleich mit hässlichen C Betriebssystem-APIs anfangen, aber IMHO übersiehst du ein bisschen, dass es auch besser designte Bibliotheken gibt.

    Es ist wohl eine Frage des GUI-APIs, mit dem man anfängt. Swing ist IMHO "akzeptabel" gut designed, sicher nicht das Prachtstück aus dem Java API, aber es nutzt Vererbung richtig und sinnvoll.

    ...
    extended by javax.swing.JComponent
    extended by javax.swing.AbstractButton
    extended by javax.swing.JToggleButton
    extended by javax.swing.JCheckBox

    In C++ würde die Klassenhierarchie evtl. weniger tief ausfallen, aber man kann auf jeden Fall immer wieder sehr gut die IST-Beziehung beobachten. Auch sind die einzelnen Klassen immer recht klein und erben einen großen Teil ihrer Funktionalität von den Basisklassen.
    In der Summe ist damit die Schnittstelle dann leider doch meistens nicht so klein, aber es gibt allemal schlimmeres.

    Swing ist auch konsistent, nur das dumme J Präfix stört, war aber notwendig, damit man sich von AWT abgrenzen kann (packages nützen hier nicht wirklich viel, weil man AWT und Swing manchmal mischt).
    Vielleicht nicht ideal zum lernen, aber versaut bestimmt nicht gleich den Stil. Ich denke mal, dass es so etwas auch für C++ in der Art gibt.

    Mit der Konsole ist man natürlich trotzdem am sichersten dran, aber irgendwann nach nem Jahr braucht man halt auch mal ein bisschen Motivation. 😉

    höhö. verkackt.

    rofl. 😃 👍



  • Optimizer schrieb:

    weil man AWT und Swing manchmal mischt

    Was IMHO ein Designfehler an Swing ist.
    abgesehen davon ist Swing akzeptabel - allerdings trotzdem eines der besten GUI Toolkits...



  • volkard schrieb:

    ... denn du kapierst nichmal die einfachsten zusammenhänge, die ich aufzeige.

    Hast Du mein Posting auch wirklich gelesen? Und verstanden?
    Dir hab' ich doch gar nicht geantwortet. Es ging in meinen Post um die Zeit der Konsolenprogrammierung und ihr Zusammenhang mit der "Güte" der Programme.

    Und wo ist jetzt der Widerspruch zu Deinen Doktrin?

    Haust Du immer so rundrum auf alle? Schlechten Tag heute erwischt?

    Blackbird

    PS: @The_Incredible soll sich an die Empfehlungen hier in diesen Thread halten (auch an Deine).



  • Blackbird schrieb:

    Haust Du immer so rundrum auf alle?

    ja.

    Schlechten Tag heute erwischt?

    ja, wie jeden tag.



  • Sovok schrieb:

    Cpp_Junky schrieb:

    Und Java nimmt man, wenn man Spass an Schmerzen hat 😉

    den spruch muss ich mir immer von den vb proggern anhörn aber auf c++ bezogen

    allerdings schwingt da auch immer so ein hauch von neid im hintergrund mit 😉

    Ich hoffe, das sollte keine Unterstellung sein 😃 :p


Anmelden zum Antworten