Volkards C++-Kurs Neuauflage
-
Erhard Henkes schrieb:
Klasse, dass dieses hervorragende Tutorial aktualisiert wird.
thx.
Ich verstehe aber nicht, warum noch
return 0am Programmende eingesetzt wird.
es ist mir zu willkürlich, daß man in der int main() das return 0 weglassen darf.
Die Formatierung
int main(){ //... }würde ich überdenken. Gerade Anfänger haben es doch leichter, wenn die geschweiften Klammern vertikal übereinander stehen, sozusagen den Block visualisieren. Im Internet machen ein paar Zeilen mehr doch nichts aus.

jo, heikler punkt. ich denke auch dauernd drüber nach. aber soll ich wirklich vereinfachungen bringen, denen ich nachher widerspreche? dabei habe ich ein sehr ungutes gefühl.
-
Nimm einfach den Klammerstil, den du für richtig hältst. Beide (als ob es nur 2 wären;-) Stile haben sich bewährt. Wenn der K&R-Stil so unübersichtlich wär, hätten die Java-Leute den sicher nicht zu ihrem Standard gemacht.
-
Mach die Einrückung doch vom User konfigurierbar
.
-
huhu!
also volkard, find ich gut das du das neu auflegst. allerdings, hmm..mit den
int main() { }komm ich nich so ganz klar..machs doch so. starte ein thread miteiner umfrage, lass diese 7tage laufen. wo man nur voten kann. dann nimmste die mehrheit

ansonstem, farben usw. sind gut
bye err0r

-
MaSTaH schrieb:
Mach die Einrückung doch vom User konfigurierbar
.genau das muss wohl gemacht werden.
-
Warum? Der User ist doch im Normalfall ein Anfänger, der sich in dem Punkt eigentlich keine Meinung erlauben kann. Und es gibt wirklich wichtigeres.
-
Bashar schrieb:
Warum? Der User ist doch im Normalfall ein Anfänger, der sich in dem Punkt eigentlich keine Meinung erlauben kann. Und es gibt wirklich wichtigeres.
weil es vermutlich leicht in den syntax-highlighter eingebaut werden kann.
das kann ich mal machen, wenn ich besoffen bin und zu nichts wichtigem fähig.
-
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
-
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.
-
Bashar schrieb:
Unschön -- wenn wir schonmal dabei sind -- finde ich, dass um die Operatoren grundsätzlich kein Leerraum gelassen wurde.
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.
-
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 soint 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!

-
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