Volkards C++-Kurs Neuauflage



  • DrGreenthumb schrieb:

    Dem muss ich mich anschließen. Volkard schafft es zwar, das ganze trotzdem gut lesbar zu halten, aber bei einem Anfänger der sich das womöglich abguckt, kommt dann am Ende sowas raus:
    if(x>=x1&&x<=x1+w&&y>=y1&&y<=y1+h)
    Man könnte meinen, dass dort das Gehirn automatisch nach Leerzeichen schreit, aber komischerweise sieht man sowas tatsächlich hier im Forum.

    if(x>=x1&&x<=x1+w&&y>=y1&&y<=y1+h) ist inhaltlich zu kompliziert. da retten auch leerzeichen nix. vielleicht verbessert leerzeichenverzicht ja sogar den stil. 😉
    bin jetzt nicht sicher, aber ich gleube, um && mache ich auch gerne leerzeichen.



  • volkard schrieb:

    Optimizer schrieb:

    In C++ wurde (wie bereits in C) versucht, die Sprache selbst möglichst klein und überschaubar zu halten [...]

    Ähm, das ist aber nicht gelungen. :p

    naja, im vergleich zu php ist es gelungen.

    Mir gefällt diese Stelle nicht. Vielleicht solltest du das nicht mit der Einfachheit bzw. "Überschaubarkeit" von C++" erklären, kommt mir irgendwie leicht unpassend/ironisch vor.

    Zu den Leerzeichen: Ich schreibe gerne so etwas

    if( blabla )
    

    kannst du das einbaun? 😉 Ok, war nur ein Witz. 🙂

    bin jetzt nicht sicher, aber ich gleube, um && mache ich auch gerne leerzeichen.

    Mindestens 3! 🙂



  • Hallo,

    also mit der Klammerung, da wuerde ich mir keine groesseren Gedanken machen. In
    den meisten Buechern wird kurz angesprochen, dass manche es so

    int main() {
    }
    

    und manche es

    int main()
    {
    }
    

    schreiben. Dann gibt es noch einen Hinweis darauf, dass es Geschmackssache ist
    und damit ist das Thema eigentlich auch schon gegessen. Nun wendet der Autor
    seinen Stil an und dem Leser ist es selbst ueberlassen, wie er es handhabt.

    Der Style deines neuen Tuts ist IMHO super. Ich kann laengere Zeit in dem Text
    lesen, ohne das mir die Augen weh tun, was bei deiner aelteren Variante
    manchmal der Fall war. Der Zeilenabstand ist ok und traegt IMHO gut zur
    Uebersichtlichkeit bei.

    Evtl. wuerde ich mir ueberlegen, ob ich hier:

    http://www.volkard.de/C++/Tutorial/Grundlagen/Hello, world!/_Hello, world_ mit dem MinGW Studio/

    die Seiten nicht auf zwei aufteile. Es gibt zwar nicht mehr so viele, aber es
    gibt sie immernoch: Modemuser. Ich kann es relativ schlecht beurteilen, da bei
    mir die Seite einfach schnell aufbaut, kann mir aber vorstellen, dass ein
    Modemuser hier etwas laenger braucht, bis die Seite aufgebaut ist. Falls ich
    hier falsch liege, dann ignoriert die den Absatz hier einfach :).

    Hier:
    http://www.volkard.de/C++/Tutorial/Grundlagen/Bessere Variablennamen und Zwischenergebnisse/

    oder auch bei anderen Seiten mit Uebungen, waere es vielleicht zu ueberlegen,
    ob man die Uebungen nicht in einen Rahmen packt und z. B. auf der o. Seite,
    die Variablen wie in nem Codeblock schreibt. Sonst sieht es auf den ersten
    Blick so aus, als wenn das Tut hier normal weitergeht. Man ueberliesst evtl.
    schnell das Woertchen 'Uebung'.

    Ansonsten: Seite super gelungen! 👍

    mfg
    v R



  • virtuell Realisticer schrieb:

    http://www.volkard.de/C++/Tutorial/Grundlagen/Hello, world!/_Hello, world_ mit dem MinGW Studio/

    BTW:

    Starten Sie das MinGW Studio. Es sollte unfähr dieser Bildschrim erscheinen:

    Find' ich voll unfair, ey! 🤡


  • Mod

    Bashar schrieb:

    Warum? Der User ist doch im Normalfall ein Anfänger, der sich in dem Punkt eigentlich keine Meinung erlauben kann.

    Na dann erst ab Kapitel 7 freie Wahl zulassen 🤡

    MfG SideWinder



  • virtuell Realisticer schrieb:

    Evtl. wuerde ich mir ueberlegen, ob ich hier:

    http://www.volkard.de/C++/Tutorial/Grundlagen/Hello, world!/_Hello, world_ mit dem MinGW Studio/

    die Seiten nicht auf zwei aufteile. Es gibt zwar nicht mehr so viele, aber es
    gibt sie immernoch: Modemuser. Ich kann es relativ schlecht beurteilen, da bei
    mir die Seite einfach schnell aufbaut, kann mir aber vorstellen, dass ein
    Modemuser hier etwas laenger braucht, bis die Seite aufgebaut ist. Falls ich
    hier falsch liege, dann ignoriert die den Absatz hier einfach :).

    ich BIN zur zeit modemuser. 56k steht auf dem modem, meist hab ich 44k.
    und die seite ist ruck-zuck da. das png-format ist geil für screenshots.
    aber auch bei ner relativ langen ladezeit würde ich die seite nicht trennen wollen, weil sie inhaltlich ein stück ist.

    gestern hab ich die .htaccess geloscht, die alle html-seiten von nem script bearbeiten ließ, daß sich um logging kümmerte. logging ist jetzt nur noch bei java-script-benutzern und am ende der seite, inhalt wird also erst angezeigt und dann erst geloggt. brint nochmal fein speed. man glaubt ja gar nicht, wie lahm php ist. außerdem kann der apache viel schöner mit den ganzen proxies schwätzen. wenn ich es dann noch schaffe, dem apache zu sagen, daß er den proxies erzählt, daß alle html-seiten sagen wir mal 24h gültig sind, hab ich feine speed.

    oder weiß das zufällig einer hier, wie das geht?



  • Optimizer schrieb:

    Mir gefällt diese Stelle nicht. Vielleicht solltest du das nicht mit der Einfachheit bzw. "Überschaubarkeit" von C++" erklären, kommt mir irgendwie leicht unpassend/ironisch vor.

    aber es ist doch so.
    soll ich lügen?
    ich könnte in klammern schreiben (hat aber nicht funktioniert, c++ ist an anderer stelle zum chef der uneinfachheit geworden.). 😕



  • virtuell Realisticer schrieb:

    oder auch bei anderen Seiten mit Uebungen, waere es vielleicht zu ueberlegen,
    ob man die Uebungen nicht in einen Rahmen packt und z. B. auf der o. Seite,
    die Variablen wie in nem Codeblock schreibt. Sonst sieht es auf den ersten
    Blick so aus, als wenn das Tut hier normal weitergeht. Man ueberliesst evtl.
    schnell das Woertchen 'Uebung'.

    ja, auf jeden fall. aber erst noch zwei oder drei übungen, damit ich sehe, wie ich übungen auf den ganzen lektion machen sollte. und dann erweitere ich den html-generator entsprechend.
    ich mag auch machen, daß alle images, die *eine* seite braucht, bei dieser seite sind und nicht auf /images/bla.png, aber der dumme generator (uih, ich bekenne mich zu einem designfehler) hat beim konvertieren der bitmaps längst vergessen, zu welcher seite sie gehören.
    und ne offline-version muss wieder her. vielleicht. vielleicht mache ich besser ne seite, die den umgang mit wget (für windows: wget.exe) erklärt, und wie man sich die ganze domain in 5 minuten lokal mirrored.

    aber am meisten fasziniert mich im moment der gedanke, in javascript anhand von cookies dem highlighter zu sagen, daß er die klammern so oder anders machen soll. und dann wieder fünf stunden lang recherchieren, wie man dem apache sagt, daß die proxies wissen, daß immer die selben seiten kommen, obwohl andere cookies geschickt werden.



  • virtuell Realisticer schrieb:

    Der Style deines neuen Tuts ist IMHO super. Ich kann laengere Zeit in dem Text
    lesen, ohne das mir die Augen weh tun, was bei deiner aelteren Variante
    manchmal der Fall war. Der Zeilenabstand ist ok und traegt IMHO gut zur
    Uebersichtlichkeit bei.

    seltsam. beim alten hab ich doch auch fast die gleichen farben gehabt. eigentlich schwarz auf weiss. leicht nach gelb abgegelbt, damit ich nicht jede woche ne mail bekam mit "ich habe mir mal die mühe gemacht, alle 83 lektionen auf andere farben umzuschreiben..." (ich muss den generator mal machen, daß er das hardcoded array namens styles von ner datei lädt und dann ihn freigeben.).
    aber ich nehme es mal hin.

    was mir echt gedanken macht, ist mein eindruck, daß ich im neuen anfang zwar weniger dedaktische sünden wie lügen, vermogeln und verheimlichen begehe, aber es fühlt sich nicht mehr so "rund" an. auf einmal sind bereits die ersten einheiten so dick und gross und aufgeblasen und abschreckend und...
    da fehlen mir ganz die worte, um zu beschreiben, wie kacke es ist.
    ich muss dem nube beibringen, daß

    #include <iostream>
    using namespace std;
    
    int main(){
       cout<<"Hello, world!"<<endl;
       return 0;
    }
    

    ein "einfaches" programm ist.
    also

    <?php
     phpinfo();
    ?>
    

    oder

    print "hallo"
    

    macht mich da richtig neidisch.



  • volkard schrieb:

    virtuell Realisticer schrieb:

    Evtl. wuerde ich mir ueberlegen, ob ich hier:

    http://www.volkard.de/C++/Tutorial/Grundlagen/Hello, world!/_Hello, world_ mit dem MinGW Studio/

    die Seiten nicht auf zwei aufteile. Es gibt zwar nicht mehr so viele, aber es
    gibt sie immernoch: Modemuser. Ich kann es relativ schlecht beurteilen, da bei
    mir die Seite einfach schnell aufbaut, kann mir aber vorstellen, dass ein
    Modemuser hier etwas laenger braucht, bis die Seite aufgebaut ist. Falls ich
    hier falsch liege, dann ignoriert die den Absatz hier einfach :).

    ich BIN zur zeit modemuser. 56k steht auf dem modem, meist hab ich 44k.
    und die seite ist ruck-zuck da. das png-format ist geil für screenshots.
    aber auch bei ner relativ langen ladezeit würde ich die seite nicht trennen wollen, weil sie inhaltlich ein stück ist.

    gestern hab ich die .htaccess geloscht, die alle html-seiten von nem script bearbeiten ließ, daß sich um logging kümmerte. logging ist jetzt nur noch bei java-script-benutzern und am ende der seite, inhalt wird also erst angezeigt und dann erst geloggt. brint nochmal fein speed. man glaubt ja gar nicht, wie lahm php ist. außerdem kann der apache viel schöner mit den ganzen proxies schwätzen. wenn ich es dann noch schaffe, dem apache zu sagen, daß er den proxies erzählt, daß alle html-seiten sagen wir mal 24h gültig sind, hab ich feine speed.

    oder weiß das zufällig einer hier, wie das geht?

    Gut, wusste nicht das PNG dermassen gut ist. Dann hat sich das ja auch erledigt.

    Normalerweise macht man das ja mit Cookies. Und soweit ich weiss, kann man
    ja auch Cookies abdaten, d. h. auch wenn du die Einstellungen fuer die
    Klammerung aenderst, wuerde sich an den anderen Einstellungen des Cookies
    nichts aendern. Vielleicht ist es ja auch moeglich, das Cookie komplett
    einzulesen, die Dinge, welche geaendert werden sollen, aendern und wieder
    zurueckschreiben, was IMHO aber ne bloede Loesung waere.

    Ich werde diesbezueglich mal in der Internetentwicklung nachfragen, was
    da Technisch moeglich ist.

    volkard schrieb:

    und ne offline-version muss wieder her. vielleicht. vielleicht mache ich besser ne seite, die den umgang mit wget (für windows: wget.exe) erklärt, und wie man sich die ganze domain in 5 minuten lokal mirrored.

    Das waere IMHO eine sehr gute Idee und du sparst dir Platz (auch wenn es nur
    ein paar kbechen sind :)).

    volkard schrieb:

    aber am meisten fasziniert mich im moment der gedanke, in javascript anhand von cookies dem highlighter zu sagen, daß er die klammern so oder anders machen soll. und dann wieder fünf stunden lang recherchieren, wie man dem apache sagt, daß die proxies wissen, daß immer die selben seiten kommen, obwohl andere cookies geschickt werden.

    Hmmm...ich glaube nicht, dass das den Apache interessiert, als wie lange eine
    Seite gueltig anzusehen ist. Der Apache stellt ja lediglich den Dienst 'http'
    zur Verfuegung. Was da hin- und hertransportiert wird interessiert den Apache
    gar nicht. Ich denke das hier der Schoepfer der Seite Hand anlegen muss.

    volkard schrieb:

    seltsam. beim alten hab ich doch auch fast die gleichen farben gehabt. eigentlich schwarz auf weiss. leicht nach gelb abgegelbt, damit ich nicht jede woche ne mail bekam mit "ich habe mir mal die mühe gemacht, alle 83 lektionen auf andere farben umzuschreiben..." (ich muss den generator mal machen, daß er das hardcoded array namens styles von ner datei lädt und dann ihn freigeben.).
    aber ich nehme es mal hin.

    Vielleicht hab ich mich hier auch vertan und bringe grad zwei verschiedene
    Seiten in Beziehung zueinander. Fakt ist: Deine neues Tut laesst sich sehr
    schoen lesen und die Augen werden nicht zu sehr angestrenkt.

    volkard schrieb:

    ich muss dem nube beibringen, daß

    #include <iostream>
    using namespace std;
    
    int main(){
       cout<<"Hello, world!"<<endl;
       return 0;
    }
    

    ein "einfaches" programm ist.
    also

    <?php
     phpinfo();
    ?>
    

    oder

    print "hallo"
    

    macht mich da richtig neidisch.

    Naja, das eine ist eben eine Interpretersprache und der Interpreter kann
    die entsprechenden Anweisungen sofort ausfuehren und der Entwickler sieht
    sofort, was er gemacht hat. Man muss dem 'noob' eben den Unterschied
    erklaeren und evtl. auf einer Seite auf die verschiedenen Vor- und Nachteile
    eingehen, damit er sich ein Bild machen kann. Sonst kommt er irgendwann
    daher und sagt "In PHP kann ich einfach print x schreiben" ohne das er weiss,
    dass PHP in dieser Hinsicht nicht einfach mit C++ vergleichbar ist. Der
    Interpreter sieht 'print' und weiss, "aha, das Nachfolgende moechte der
    Entwickler also ausgegeben haben." und zack, hat man "Fuenf Baeren toben im
    Wald" ausgegeben.

    Ich glaube ich schreibe grad viel zu viel 🙄

    Naja, Minimalbeispiele sehen in verschiedenen Sprachen halt verschieden aus.

    Kannst ja als Minimalbeispiel ein Java-Hello-World Programm zeigen, dann
    sieht das wieder etwas anders aus.

    mfg
    v R



  • @volkard: Eventuell könntest du auf eine serifenlose Schrift umstellen? Das liest sich IMHO einfacher. Außerdem sind mir einige Code-Blöcke aufgefallen, die nicht einheitlich in Courier New sind sondern irgendwas anderes.



  • CengizS schrieb:

    @volkard: Eventuell könntest du auf eine serifenlose Schrift umstellen? Das liest sich IMHO einfacher. Außerdem sind mir einige Code-Blöcke aufgefallen, die nicht einheitlich in Courier New sind sondern irgendwas anderes.

    strings sind in nicht proportionaler schrift. wollte das mal ausprobieren. hab ich glaub ich in effective stl gesehen und da sah es ganz gut aus.



  • In C++ kann man statt "&&" auch "and" schreiben und statt "||" "or". Ich finde Volkard sollte das machen, da ihn das zwingen würde leerzeichen zu verwenden.



  • Helium schrieb:

    In C++ kann man statt "&&" auch "and" schreiben und statt "||" "or". Ich finde Volkard sollte das machen, da ihn das zwingen würde leerzeichen zu verwenden.

    Naja, ich denke man kann die Trigraphen erwaehnen, muss sie aber nicht nutzen,
    wenn es nicht unbedingt erforderlich ist

    mfg
    v R



  • ich muss dem nube beibringen, dass

    #include <iostream>
    using namespace std;

    int main()
    {
    cout<<"Hello, world!"<<endl;
    // return 0;
    }

    ein "einfaches" Programm ist.

    ... und da fehlt unter MS Windows noch das Abfangen des "Blitzens", z.B. mit getch() aus der "geliebten" conio.h 😃



  • Erhard Henkes schrieb:

    ... und da fehlt unter MS Windows noch das Abfangen des "Blitzens", z.B. mit getch() aus der "geliebten" conio.h 😃

    nee, das gehört nicht ins programm.
    ich frage mich, wie die user ihre programme starten. mit doppelklick aus dem explorer?
    da mache ich dann lieber genug screenshots, damit der user es gleich richtig lernt.



  • Du wirst das schon richtig machen. 🙂
    Hauptsache der Anfänger/Einsteiger/Umsteiger versteht die Zusammenhänge von Anfang an richtig, denn er muss auf Dauer mit der ganzen Breite von Programmstilen und Compilern/IDEs klar kommen.

    Wenn man z.B. mit Dev-C++ codet und nach einer Änderung F9 ( compilieren + ausführen ) drückt, dann hilft z.B. getch(). Das Arbeiten direkt in der Konsole ist nicht jedermanns Sache, sollte aber auch beherrscht werden.

    In Volkards Tutorial wird dieses Phänomen nicht angesprochen, nur gezeigt, wie man mit einer spezifischen IDE arbeitet, sogar schon mit Projekten (Typ Windows-Konsole), was beim Dev-C++ nicht notwendig ist (da kann man einfach eine cpp erzeugen und F9 drücken). Beim Doppelklick im Explorer passiert es dann ... Der Fachmann weiß Bescheid und der Laie wundert sich nur noch. 😃
    So etwas fange ich vom ersten Programm an mit getch() ab. conio.h bringt als Überraschung auch Umlaute und Farbe, bringt zumindest Stimmung in die ansonsten triste Konsole. Später kann man dann ein wait() über <iostream> zeigen.



  • Erhard Henkes schrieb:

    In Volkards Tutorial wird dieses Phänomen nicht angesprochen, nur gezeigt, wie man mit einer spezifischen IDE arbeitet, sogar schon mit Projekten (Typ Windows-Konsole), was beim Dev-C++ nicht notwendig ist (da kann man einfach eine cpp erzeugen und F9 drücken). Beim Doppelklick im Explorer passiert es dann ... Der Fachmann weiß Bescheid und der Laie wundert sich nur noch. 😃

    geplant ist, daß unter [url=http://www.volkard.de/C++/Tutorial/Grundlagen/Hello,%20world!/].../Hello, world![url] lauter gleichberechtigte seiten "Hello, world mit dem/der ..." kommen.
    durch deine anregung ist der plan jetzt erweitert zu: und wenn es beim dev-c++ echt keine gescheite taste gibt, sein programm ohne blitzen auszuführen, kommt halt genau da rein, daß man beim dev-c++ am ende der main ruhig getch(), cin.get(), cin.peek(), system("pause") oder sowas aufrufen soll, damit die arbeit angenehmer wird.



  • Gute Idee.


Anmelden zum Antworten