cpp:introduction

Diskussionen zu Tutorials, Änderungs- und Erweiterungswünsche
Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: cpp:introduction

Beitrag von Dirty Oerti » Di Feb 24, 2009 9:05 pm

fat-lobyte hat geschrieben:Ich finde es lohnt sich eher die STL zu lernen als so etwas selbst zu schreiben. Für die VERWENDUNG im Programm.
Für die ÜBUNG sollte natürlich jeder Programmierer dazu in der Lage sein. Aber über die Übung, Aufgaben und Fragen haben wir noch nicht geredet, und das gehört meiner Meinung nach nicht in diesen Punkt hinein, sondern ist ein eigener. Und ganz ehrlich: außer für die Übung ist so etwas nicht wirklich brauchbar, denn es gibt das schon.
Meine Ansicht dazu:

Das ganze soll ja ein Tutorial werden. Darin möchte man etwas LERNEN. Damit man etwas LERNT, muss man es ÜBEN. :) Deshalb sollte man in diesem Tutorial ersteinmal zeigen, dass man sich auch selbst behelfen kann (!!). Wenn das verstanden worden ist, sollte man die STL vorstellen.
Wenn der Leser dann seine eigene (z.B.) Vector-Klasse geschrieben hat (die sich natürlich an die STL-Klasse dazu anlehnt), dann kann man ihm zeigen, dass es das schon geschrieben gibt und ihm verständlich machen, dass die STL höchstwahrscheinlich besser funktioniert als das Selbstgeschriebene.
fat-lobyte hat geschrieben:Was nutzt ein Programmierer der keine Bibliotheken verwenden kann und alles selbst schreiben muss?
Das soll damit ja nicht erreicht werden.
Es soll ja eher gewährleisten, dass auch verstanden wird, was denn z.B. ein Vector ist und wie das programmiert wurde und was da überhaupt abläuft.
Sozusagen ein Theorieteil, der praktisch umgesetzt wurde :)
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: cpp:introduction

Beitrag von Kerli » Di Feb 24, 2009 11:35 pm

Xin hat geschrieben:Mehrfachvererbung kann ein Problem sein. Ich lese selten Artikel, wo die Vorteile beschrieben sind. Das wäre mal etwas besonderes.
Ich hab auch nicht gesagt dass Mehrfachvererbung ein Problem ist, ich hab nur gemeint dass bei der Mehrfachvererbung sehr leicht das Problem des mehrfachen Auftretens der gleich Basisklasse entstehen kann. Es stimmt schon, wenn man aufpasst ist Mehrfachvererbung eine sehr gute Methode für einige Aufgaben, aber wir müssen eben auf häufige Fehler hinweisen, damit man eben lernt diese Methode richtig anzuwenden.
fat-lobyte hat geschrieben:
Kerli hat geschrieben:Einfache Ausgabe mit cout sollte gleich nach dem Helloworld Programm kommen, da Anfänger immer gerne was sehen.
Schon klar. Aber eine Ausgabe machen wollen, ohne zu wissen was ein Ausdruck und eine Anweisung ist (sprich dass in jede Zeile ein Semikolon gehört) halte ich nicht für möglich.
Man muss ja nicht gleich alles was es dazu zu sagen gibt sagen. Es reicht doch wenn man einmal anhand des Helloworld-Programmes die Grundlegenden Dinge wie eben was ein Ausdruck und was eine Anweisung ist erklärt. Dabei wird natürlich auch vorkommen, dass man mit 'cout' Text ausgibt. Wenn wir dann Variablen vorgestellt haben könnte gleich kommen wie man mit cout auch Variablen bzw. mehrere Ausgaben kombiniert. Das 'cout' ein Objekt ist und '<<' ein überladender Operator brauchen wir an dieser Stelle natürlich noch nicht erwähnen.
fat-lobyte hat geschrieben:Insofern halte ich es für kontraproduktiv in einem C++ Tutorial printf() zu unterrichten.
Dem kann ich mich nur anschließen, denn wer direkt mit C++ ins Programmieren einsteigt sollte nicht mit solchen Dingen belastet werden. Denn am Anfang verwirrt jede vermeidbare Funktion bzw. Notation nur.
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: cpp:introduction

Beitrag von Xin » Mo Mai 11, 2009 12:54 pm

Push ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

sonic
Beiträge: 29
Registriert: Do Aug 13, 2009 6:58 pm

Re: cpp:introduction

Beitrag von sonic » Di Aug 18, 2009 6:55 pm

Also,

ich würd mich für Templates, Expression Templates und den dazugehörigen Themen (Policy based design und type traits etc.) zur Verfügung stellen, sowie ein bisschen was zur Template Meta Programmierung (boost::mpl) schreiben.

Ich bin mir aber nicht sicher ob ich dazu schon schreiben soll, weil für solche Themen im Tutorial natürlich noch die Grundlagen fehlen...

Greets
sonic
Frei nach dem refrain für Let it be...

Write in C, Write in C,
Write in C, yeah, Write in C.
Only wimps use BASIC.
Write in C.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: cpp:introduction

Beitrag von Xin » Di Aug 18, 2009 7:12 pm

sonic hat geschrieben:ich würd mich für Templates, Expression Templates und den dazugehörigen Themen (Policy based design und type traits etc.) zur Verfügung stellen, sowie ein bisschen was zur Template Meta Programmierung (boost::mpl) schreiben.
Tu Dir keinen Zwang an :-)
sonic hat geschrieben:Ich bin mir aber nicht sicher ob ich dazu schon schreiben soll, weil für solche Themen im Tutorial natürlich noch die Grundlagen fehlen...
Da fehlt noch einiges...

Das C++ Tutorial plane ich eigentlich erst für nächstes Jahr realistisch ein, aber wenn Du schon loslegst, finde ich das nicht verkehrt.
Bitte trage einfach auf cpp:start Deine Themen ein. CPP:... ist noch nicht offen verlinkt, darf also gerne auch eine komplette Baustelle sein.

Das C-Tuturial entsteht ebenso aus und zieht sich langsam zusammen, dass es auch zusammenpasst.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: cpp:introduction

Beitrag von Xin » Mo Nov 16, 2009 11:38 pm

Push again...

Ich sitze auf der Couch und für SVN müsste ich aufstehen und für die StdLib sitze ich lieber am Desktop, wofür ich ebenso aufstehen müsste. Also guckte ich mich mal im Wiki um und landete wieder hier.

Ich habe Fat-LoBytes Gliederung mal ins Wiki kopiert. Die ist nicht fix, sondern noch frei veränderbar und das wird wohl auch noch geschehen.

Ich habe mir den Thread jetzt nochmal durchgelesen und würde das Thema mit dem dem verzwickten Links gerne noch was vertiefen.

Ansonsten würde ich sagen, gucken wir einfach was passiert. ^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: cpp:introduction

Beitrag von Xin » Di Nov 17, 2009 1:24 am

Ich habe mir die Gliederung nochmal durch den Kopf gehen lassen.

Gemeinerweise habe ich nun erstmal eine ganze Reihe Zeug aus meiner Gliederung rausgeworfen - obwohl fat-lobytes Gliederung noch als Diskussionsgrundlage im Start mitdrinsteht.

Zwei Gründe: Bevor wir uns an STL und Boost ranmachen, brauchen wir C++. Also konzentrieren wir uns auf C++ und nicht auf das Drumrum. Die STL gehört zu C++, aber trotzdem in die Peripherie von C++ - wenn wir beschrieben haben, wie C++ läuft, können wir uns um die STL kümmern.

Einfache Dinge, wie std::strings können gerne verwendet und mit drei Worten erklärt werden, und auch nach cpp:std:string verlinkt werden - eine ausführliche Erklärung wird irgendwann auch kommen. Aber erstmal kommt C++.

Hier nochmal der Link: http://www.proggen.org/doku.php?id=cpp:start
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: cpp:introduction

Beitrag von Xin » Mo Dez 07, 2009 9:43 pm

Ich habe jetzt mal die ersten Seiten in den letzten Tagen hinzugefügt.

Feedback ist willkommen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: cpp:introduction

Beitrag von Kerli » Di Dez 08, 2009 12:08 am

Xin hat geschrieben:Ich habe jetzt mal die ersten Seiten in den letzten Tagen hinzugefügt.
Das ist gut :)
Xin hat geschrieben:Feedback ist willkommen.
Das was ich gesehen habe ist eigentlich ganz vernünftig und zumindest aus meiner Sicht auch für Anfänger verständlich, wobei hier sicherlich auch Feedback von jemanden der sich in C++ einarbeitet gut wäre...
Das einzige womit ich mich nicht so ganz anfreunden kann ist das ein Mensch ein Tier sein soll. Es mag zwar durchaus sein, dass wir mit den Affen gemeinsame Vorfahren haben, aber normalerweise würde ich doch Menschen und Tiere als zwei verschiedene Arten von Lebewesen sehen.

edit: Warum muss denn ein Konstruktor unbedingt public sein?
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: cpp:introduction

Beitrag von Xin » Di Dez 08, 2009 9:20 am

Kerli hat geschrieben:
Xin hat geschrieben:Feedback ist willkommen.
Das was ich gesehen habe ist eigentlich ganz vernünftig und zumindest aus meiner Sicht auch für Anfänger verständlich, wobei hier sicherlich auch Feedback von jemanden der sich in C++ einarbeitet gut wäre...
Erstmal muss es lesbar sein, dann brauchen wir einen Anfänger ^^
Kerli hat geschrieben:Das einzige womit ich mich nicht so ganz anfreunden kann ist das ein Mensch ein Tier sein soll. Es mag zwar durchaus sein, dass wir mit den Affen gemeinsame Vorfahren haben, aber normalerweise würde ich doch Menschen und Tiere als zwei verschiedene Arten von Lebewesen sehen.
Da bin ich auf eine logisch nachvollziehbare Begründung gespannt.
Insekten sind Tiere. Vögel sind Tiere. Säugetiere sind Tiere. Echsen sind Tiere.
Ich habe in der Grundschule auch gelernt, dass es Pflanzen, Tiere und Menschen gibt. Menschen sind keine Insekten. Aber Menschen sind Säugetiere.
Nicht alles, was ich in der Grundschule gelernt habe, ist haltbar.
Menschen sind Tiere mit einer Begabung zur Teamarbeit. Das war's. Wir haben eine günstige Kombination von geistigen Fähigkeiten und Körperbau (Hände) und ein paar Jahre Evolution mit diesen Fähigkeiten. Ansonsten ist mir keine Eigenschaft bekannt, in der eine andere Tierart dem Menschen nicht überlegen ist.

"Primaten" sind dem jungen Menschen in allen Bereichen überlegen. Primaten versagen in der Teamarbeit. Was wäre, wenn bei einem Primaten ein Gen kippt und sie teamfähiger werden, 100000 Jahre Evolution - eventuell würde der Mensch spaßeshalber intelligente Haustiere aus ihnen machen, ihnen Tricks beibringen und somit ihre Evolution beschleunigen.

Die Geschichte wurde in 60ern übrigens mal durchgedacht: Schonmal "Planet der Affen" gesehen? Also nicht das billige Remake aus diesem Jahrtausend, sondern die Filme aus den 60ern/70ern?
Kerli hat geschrieben:edit: Warum muss denn ein Konstruktor unbedingt public sein?
Weil Information-Hidding erst in drei Abschnitten kommt und würde ich ihn nicht public machen, würde man ihn nicht sehen ^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten