Diskussion:C++-Programmierung/ Projektdefinition

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
Aus Wikibooks

Was jetzt folgt ist für eine Diskussionsseite etwas ungewöhnlich, aber ich fand, es passt am besten hierher, was ein weiterer Grund war, eine eigene Seite für die Projektdefinition anzulegen. Es geht mir darum eure Meinungen und Vorschläge zu hören, was im allgemeinem als Diskussion bezeichnet wird und es geht um die Projektdefinition bzw. das Projekt. Trotzdem hat man normalerweise nicht 13 Punkte (diesen mitgezählt) von ein und der selben Person. Falls das also besser wo anders hin sollte, klärt mich bitte darüber auf. --Prog 23:18, 12. Jan. 2007 (CET)[Beantworten]

Archive[Bearbeiten]


Anhang Vorlage[Bearbeiten]

Vorlage für die einzelnen Kapitel (wie in der C++-Programmierung/ Projektdefinition erwähnt)


Alternativvorschlag:

Im Anhang zu diesem Kapitel finden Sie:

  • Eine Zusammenfassung zu diesem Kapitel.
  • Fragen, Aufgaben und die dazugehörigen Antworten als Übung zu diesem Kapitel.
Das hätte m.E. folgende Vorteile:
  1. Beim Aufklappen der Lösung einer Aufgabe sieht man nicht sofort die Lösungen der anderen Aufgaben!
  2. Die Lösungen befinden sich direkt bei den Aufgaben (da sie zunächst zugeklappt sind, ist ein versehentliches Reinschauen dennoch ausgeschlossen). --85.179.90.79 22:47, 30. Mai 2007 (CEST)[Beantworten]

Zum Thema „Antwort aufklappen:“ Markiert doch mal den Bereich von hier hier könnte die Antwort stehen bis hier! -- Klaus 22:31, 31. Mai 2007 (CEST)[Beantworten]

Es gibt jetzt eine Seite für Vorlagen! --FreakFlo 09:27, 16. Jun. 2007 (CEST)[Beantworten]

Was kommt in das Kapitel "Compiler"?[Bearbeiten]

Was soll in das Kapitel "Compiler" kommen? Allgemein was ein Compiler macht und wofür man ihn braucht, oder eine Beschreibung wie man verschiedene Compiler benutzt?

Falls es um die Benutzung geht, könnte ich einen Text zum Gcc-Compiler schreiben.

--etlam 10:19, 8. Aug. 2007 (CEST)[Beantworten]

Es soll hauptsächlich darum gehen was ein Compiler macht und wofür man ihn braucht. Ein Abschnitt über die Anwendung, ist aber sehr erwünscht. Ich würde mich freuen wenn du etwas zum Gnu-Compiler schreibst. --Prog 18:45, 8. Aug. 2007 (CEST)[Beantworten]
Eine Frage dazu noch: Was für Optionen soll ich alles ansprechen? Wie ausführlich soll der Text denn werden?
Vielen Dank schonmal im voraus,
--etlam 14:53, 10. Aug. 2007 (CEST)[Beantworten]
Mein Vorschlag währe folgender:
  • Geh erst mal auf das grundlegende erstellen eines C++-Programms aus _einer_ Quelldatei ein (Option -o erwähnen, Beispiel „Hello World“-Programm oder was ähnlich, aber ohne Erklärung des Quelltextes)
  • Weise darauf hin, dass es sinnvoll ist auf den nachfolgenden Text zurückzukommen, sobald man ein paar Kapitel gelesen hat. (Für den Anfang reicht der erste Punkt, alles weitere würde für einen Anfänger zu viel Verwirrung stiften.)
  • Erkläre dann was Compiler und Linker tun und das sie beim g++ Compiler nicht getrennt sind (Option -c)
  • Weise auf den Aufruf der Hilfe hin (--help) und auf die Möglichkeit sich dem Quelltext nach Durchlauf des Präprozessors anzusehen (Option -E)
  • (Schreib bitte auch das g++ zur GCC gehört, der gcc-Compiler aber ein C- und kein C++ Compiler ist. In diese Falle sind nämlich schon einige getappt. gcc übersetzt den Quelltext ja bis zu einem Gewissen Punkt, aber an dem tauchen dann plötzlich ominöse Fehler auf.)
  • Ich fände noch einen Abschnitt über makefiles nützlich, mit denen weis schließlich auch nicht jeder auf Anhieb etwas anzufangen.
Wenn dir noch mehr einfällt, scheue nicht es Aufzuschreiben. Wer sich nicht für jede Einzelheit interessiert braucht es ja nicht zu lesen. Wichtig ist nur das wesentliche Dinge immer am Anfang stehen. Vielen dank für deinen Beitrag im voraus und auch für deine Lösung der Aufgabe unter Rechen (lassen), dir ist sicher aufgefallen das mir da ein happiger Fehler unterlaufen war, der dank dir und einem aufmerksamen Leser aufgeflogen ist. --Prog 18:58, 10. Aug. 2007 (CEST)[Beantworten]
Gibt es dann eigentlich ein Unterkapitel dazu, oder ist das einfach teil des Compiler-Kapitels?
Wenn ich noch Fragen dazu habe (oder den Text (inhaltlich) fertig habe, und eure Meinung wissen will), stelle ich sie dann in die Diskussion zum Compiler-Kapitel, oder?
Vielen Dank schonmal im voraus,
--etlam 19:42, 11. Aug. 2007 (CEST)[Beantworten]
Das kommt ins Compiler-Kapitel unter eine eigene Überschrift. Wenn du den Text auf die entsprechende Diskussionsseite stellst währe das OK. --Prog 18:50, 12. Aug. 2007 (CEST)[Beantworten]

Makros[Bearbeiten]

Ist ein Kapitel zu Makros vorgesehen?

Zumindestens #ifdef, #define und #endif sollte man ansprechen.

Kann aber auch sein, das ichs übersehn habe...

Vielen Dank schonmal im voraus,

--etlam 19:34, 11. Aug. 2007 (CEST)[Beantworten]

War mir wohl entfallen, danke für den Hinweis, ich für hinzu --Prog 18:50, 12. Aug. 2007 (CEST)[Beantworten]

Schleifen[Bearbeiten]

Ich werde mich an einem Artikel zu Schleifen versuchen, ich schreibs hier hinein, damit die Arbeit nicht nachher noch doppelt gemacht wird. Ich versuch das ganze im Stil von dem Kapitel zu switch und case zu halten.

--etlam 12:13, 21. Aug. 2007 (CEST)[Beantworten]

Danke Etlam, setz den Artikel dann bitte wieder auf die Entsprechende Diskussionsseite. Noch einen Hinweis, weil mir das letztens aufgefallen war, schreib bitte nicht „man kann“ sondern „Sie können“, damit das im Buch einheitlich ist. --Prog 16:50, 21. Aug. 2007 (CEST)[Beantworten]
Ich habe den Artikel jetzt diesmal doch gleich mit Navigation usw. gemacht und direkt eingefügt, da er recht lang geworden ist (so musst du nicht soviel wikifizieren), ich finde auch, dass er schon recht gelungen ist. Wenn dir etwas nicht gefällt kannst du es ja ändern oder auf der Diskussionsseite vermerken.
--etlam 20:16, 22. Aug. 2007 (CEST)[Beantworten]

Grundsatzfrage zum Inhalt des Buches[Bearbeiten]

Soll in diesem Buch ISO-C++ behandelt werden oder eine konkrete Compilerimplementierung?

Ich wäre sehr dafür, wenn man sich auf ISO-C++ konzentrieren würde, und die plattform- und compilerspezifischen Details zwar erwähnt, wo es zweckmäßig erscheint, aber dann auch deutlich darauf hinweist, wenn es plattform- oder compilerspezifisch wird.

Ich habe leider die Erfahrung gemacht, dass viele C++-Tutorials diese Trennung nicht vornehmen und ohne mit der Wimper zu zucken, plattformspezifische Header oder compilerspezifische Syntaxerweiterungen verwenden, und die Lernenden dann (vorsichtig formuliert) sehr verwirrt sind, wenn eine andere Plattform das dann anders macht.

Was haltet ihr davon? --89.49.75.92 22:06, 21. Aug. 2007 (CEST) (w:de:Benutzer:RokerHRO)[Beantworten]

Es geht in diesem Buch um ISO-C++. Plattformspezifische Header oder compilerspezifische Erweiterungen werden hier nicht Beschrieben, es gibt lediglich am anfang des Buches eine Beschreibung wie der GCC-Compiler verwendet wird. Beschreibungen zu anderen Compilern sind übrigens auch jederzeit willkommen, aber im Rest des Buches geht es ausschließlich um ISO-C++. --Prog 22:45, 21. Aug. 2007 (CEST)[Beantworten]
Hervorragend! Das kommt dem, was ich mit meinem vor Jahren angefangen aber nie fertig gewordenen C++-Turorial (siehe nächsten Abschnitt) vorhatte, schon sehr nahe. --RokerHRO 22:54, 21. Aug. 2007 (CEST) (Nun auch angemeldet :-))[Beantworten]

Vorstellung: Neuer Mitstreiter :-)[Bearbeiten]

Nachdem ich überrascht war, dass das dt. Wikibook über C++ im Wikipedia-Artikel nun nicht mehr sofort gelöscht wurde, habe ich mit Freude festgestellt, dass sich nun Leute gefunden haben, die endlich mal ein gescheites Büchlein über C++ schreiben wollen. :-)

Da ich damit auf meiner Homepage vor Jahren auch mal angefangen hatte, aber aus Zeitmangel nach dem Ende meines Studiums das nun ziemlich brachliegt, würde ich hier bei euch gerne mitmachen. Ich habe schon ein paar Kommentare auf diversen Diskussionsseiten der Kapitel hinterlassen, da ich als Wikibooks-Neuling nicht gleich unangemeldet herumeditieren wollte.

Ich werde auf jeden Fall kritisch weiterlesen und was mir auffällt in den Diskussionsseiten ankreiden. :-) Da auch ich natürlich nicht unfehlbar bin, habe ich immer den ISO-C++-Standard im PDF-Viewer auf dem zweiten Monitor griffbereit, denn ich denke, in Streitfällen sollten wir uns schon an den Standard halten, oder?

Soweit meine persönliche Vorstellung. :-) --RokerHRO 22:51, 21. Aug. 2007 (CEST)[Beantworten]

Willkommen im Team, ich freue mich das sich jemand gefunden hat, der den C++-Standard ehrt. Ich bin zwar der Meinung das alles was nicht zum Standard gehört, auch nicht in den Quelltext konnen sollte, aber leider sind meine Englischkentnisse zimlich miss. Deshalb fällt es mir schwer etwas direkt im Standard nachzuschlagen. --Prog 22:59, 21. Aug. 2007 (CEST)[Beantworten]
Ich schlage gerne für dich/euch nach, wenns sein muss. ;-)
Leider lassen sich manche Dinge nicht völlig plattformneutral beschreiben oder nutzen. Und in jenen Fällen halte ich zumindest eine Fußnote oder einen Verweis etwa auf Boost oder POSIX oder andere mehr oder weniger plattformspezifische Lösungen durchaus mal für sinnvoll. --RokerHRO 23:05, 21. Aug. 2007 (CEST)[Beantworten]
Boost ist Plattform und Compilerunabhängig oder sollte es zumindest sein, insofern habe ich überhaupt nichts dagegen Teile von Boost auch diesem Buch zu behandeln. Dies gilt besonders für Teile die im nächsten Standard enthalten sein sollen. Was POSIX angeht, das ist mir weniger Recht, aber wenn du ein Beispiel findest in dem das unbedingt nötig ist, dann bring es auf einer Diskussionsseite mit ein, wir werden dann darüber debattieren wie sich das am besten lösen lässt. Wenn wir alternativen für alle wichtigen Betriebssysteme aufzeigen, sollte es keine Schwierigkeit sein, so etwas mit ins Buch aufzunehmen. Wichtig ist nur das sich das Buch auf Standard-C++ konzentriert. Für vieles gibt es inzwischen ja auch freie Bibliotheken. Über diese (z.B.: Qt, wxWidgets) sollten allerdings eigene Bücher entstehen. Besonders wxWidges finde ich da wichtig, da dies sowohl im OpenSource, als auch im kommerziellen Bereich kostenlos verwendet werden kann. --Prog 23:27, 21. Aug. 2007 (CEST)[Beantworten]
Nun, wenns um sowas Simples wie sleep(5); geht, oder das Initialisieren des libc-Randomgenerators mit srand(time(0));, ist das über POSIX-Funktionen irgendwie doch einfacher, als wenn man dafür Geschütze wie boost::local_time::local_date_time...wasweißich (ich habs auf die Schnelle nicht aus der Boost-Doku rauslesen können) auffährt, zumal Boost bei vielen Sachen eh auf POSIX aufsetzt oder nachbildet. :-/ --RokerHRO 17:31, 22. Aug. 2007 (CEST)[Beantworten]
Nachtrag: Nachdem ich hier bei Wikibooks schon so oft auf mein Tutorial verwiesen habe, möchte ich noch darauf hinweisen, dass ich dieses zwar nicht explizit unter GFDL oder eine andere freie Lizenz gestellt hatte, aber daraus gerne "geklaut" werden darf, falls jemand einen Abschnitt daraus für gut/nützlich/ausbaufähig hält. :-) --RokerHRO 23:05, 21. Aug. 2007 (CEST)[Beantworten]