Talk:C++ Programming/Content/Archive 2

Items needing work
I think some missing contents listed above do not make since as being part of this book. Describing the compleat details of how to use any specific library could be a book within itself. I think if any description is given in this book at all for libraries thats dependent on knowledge of a specific architecture or operating system it should be kept to a minimal description of what the library is and what its useful for and perhaps a link to a website or a wikibook that does cover how to use the library API. For example wxWidgets is already described in this fasion. OTOH libraries that are not dependent on knowledge of a specific architecture or OS I think may fit in here such as the Boost library. --darklama 18:41, 21 October 2006 (UTC)

TOC2/Print version
The marked page displays a finished product ready for printing removing the credits to authors and other copyright holders or works used on it's creation, in violation to the enforced Wikibooks Copyrights policy--Panic 00:07, 22 October 2006 (UTC)

Its not in violation of the Copyrights policy. Its still part of the same wikibook and provides a link back to the main page.

2. Provide a functional link back to the Wikibooks book or Wikibooks module (this satisfies the author credit requirement of our license)

--darklama 00:30, 22 October 2006 (UTC)

I did not mark the TOC but the print version (as a finished product) not a navigational aid, it generates a stand alone version of the book and clearly provides incentive on creating one copy that violates the copyright policy--Panic 00:42, 22 October 2006 (UTC)

The copyright policy does not require listing of authors just a link back to the wikibook or module, which it does. So its not in violation of the copyright policy even if it were a seperate stand alone work, which I disagree that it is. --darklama 00:54, 22 October 2006 (UTC)

Then we agree to disagree, the stand alone "generated" version doesn't not provide information required by the copyright policy and it is intended to create a stand alone work, that will be outside of wikibooks control, if the "generator" version was not on the same namespace or even on wikibooks that would be clear, but a violation is generated by its use. In any case this will provide some needed clarification, the wording is clear "POSSIBLE", so lets see what others think on this topic, this will also help building the new policies. --Panic 01:04, 22 October 2006 (UTC)

Well then, until such time the copyright violation notice you put on it should be removed. All I can say is if its in violation so too then must be the other whole book view, since it is meant to be finished product, not just a navigation aid in my opinion. They are both navigation aids and aids for easy printing. Neither is compleatly seperate from the other. Both are reflections of the same shared contents of individual modules, abit one doesn't include all the contents the other one does, which isn't a requirement anyways. --darklama 02:28, 22 October 2006 (UTC)

Huh ?!?, the other book views all include the copyright information that your print version removes and yes if it is your opinion that the full view without full display/inclusion of the GFDL copy (that can possibly be used for a print copy, even if a print version with the license is given to the users), you may add the tag, it would be productive to see what others, that will have to deal with the tags would think of it.

I remember a similar discussion about print versions (not the full view on C++ Programming) that didn't provide the GFDL copy, can't remember how it unfolded but I think it was removed, (but it was intended for printing, not as a navigation aid as is intended on the full view, even if you don't agree with it) so, if you think it violates copyright (by missing to the GFDL, since the GFDL is included at the bottom of the page), you should add the tag. I can't see the logic in it, but others may.

I agree that if you provide all the needed information the page will comply with the copyright policy (but I know it is not your view and that the removal was intentional, since we have established our divergences), this was one of the reasons that I took the speedier decision to add the tag (in place of correcting the print version or trying to reach a consensus) and reduce the time someone could use it to produce a copy that would violate the work copyrights. If not please let the tag stay and in a week we shall see what is the result.--Panic 03:00, 22 October 2006 (UTC)

It includes a copy of the GFDL text at the end already. I guess you missed that? I think this possible another case of you trying to use your interpretation of policy without discussion, as you already know needs to be discussed if you wish to have it settled/resolved. --darklama 03:08, 22 October 2006 (UTC)

No darklama what is missing is stated in the first post on this page, the GFDL references I made refers to the page you said would also violate the Copyright policy.--Panic 03:14, 22 October 2006 (UTC)

And now we're going in circles again. I already explained how the first thing you said is not a requirement. So I think the copyright violation tag should be removed, until you've had the copyright business settle/resolved. Its going to take more then 7 days in my opinion to do that. There's nothing stoping you from adding it back at a later time if it makes since to do so. --darklama 03:23, 22 October 2006 (UTC)

Can you agree to let it stay and wait for a decision that will take only one week ? The copyright problem seems to be clear in this case(I know you disagree with me on that point), as this should be easy and quick for a third party to moderate we should avoid a reversion battle on this point.--Panic 04:16, 22 October 2006 (UTC)

I agree we should avoid a reversion battle on this point, thats why I'm asking you to remove it yourself. I think the whole copyright issue should be resolved since that seems to be your main concern before you suggest that pages are in violation of copyright or people are in violation of not following copyright laws or not following GFDL requirements. So that it doesn't constantly have to be brought up and discussions repeated. I'm willing to agree to mediation on this if you want. Shall we ask SBJohnny or Whiteknight to weigh in on it, since they are already famulior with both our views on this? --darklama 04:28, 22 October 2006 (UTC)

I'm failing to demonstrate to you that this is not the same problem, but I agree with a moderation from SBJohnny just to expedite it. --Panic 04:33, 22 October 2006 (UTC)

Ok I've informed him on his talk page if you want to add to it. User_talk:SBJohnny --darklama 04:40, 22 October 2006 (UTC)

Response
I actually talked to a lawyer about this stuff recently. I'm not sure if this is copyvio or not though, because I don't know how those transcluded pages render on a printed version. When you print an individual page, the wikimedia software auto-includes a link to each page and the last time the page was edited, which is apparently all that's necessary. If the transcluded pages render with this information intact, it should be OK, but if you're planning on selling a lot of copies, you might want to consult a copyright lawyer just to be safe.

If the transcluded pages do not include that information, you'll have to add it, and make sure it's kept up-to-date.

Derbeth also has a perl script for this that addresses the issue in some way, but I haven't used it (Whiteknight has, so you might want to ask him... he should be around this evening or tomorrow). -- SB_Johnny | talk 11:43, 22 October 2006 (UTC)

It does show the web address just as you say on every page. I don't think Panic disputes that. I think he disputes that its in copyright violation because it doesn't include a page that he thinks is required in order to be compliant with Wikibook's Copyright policy. --darklama 13:20, 22 October 2006 (UTC)

I'm not a lawyer, but I had a law course especially on copyright and contractual problems on my final year at the University (with IT in mind).

The information missing is required by the policy to be displayed on a final copy of the work (since the page is included on the work itself, in itself it doesn't violate the rules since it is on wikibooks and on the same namespace, but its function is to provide a way of creating free standing copy (number is not relevant), that mirrors its content (no links or references are substitute to the inclusion of the GFDL and the missing copyright info, this is self evident by the inclusion of the full GFDL on print copies, and so the other information is required also...)--Panic 15:08, 22 October 2006 (UTC)

I'm not a lawyer either, so I think we can agree not to pretend that we are.

I think you will find I was following Help:Print_versions and I don't see any requirement to substitute links or references in the inclusion of the GFDL and this is by no means the only wikibook with a version available for printing. Required copyright information does seem to have a connection to the issue of what rights people have to contents submitted to Wikibooks, in my view. This is why I think its still the same copyright issue. I disagree its necessary, but will relax a bit on it, if you will too.

I think I may have a solution that may satisfy you though for now. Break the Foreword module up so that Authors listing and the boilerplate GFDL copyright notice (which seems to be missing from it) are on one page seperate from the foreword section. If we can agree to the contents of the Authors module, then I'll add it to this print version. This would require relaxing of what you believe is the requirement to be listed as an author as I believe it is in violation of GFDL, Wikibook policies and the spirit of Wikibooks, and that is why I did not have it included on the page. --darklama 16:07, 22 October 2006 (UTC)

Sorry, for not seen you post darklama, the GFDL copy as the authors page that are needed is on the every print function (that will be mirrored to the hard copy it generates), except the one I marked as being a possible violation.

GFDL requests that the authors page is displayed on the cover but wikibooks does some modifications to that, even so there is a direct link provided so in that point there shouldn't be a problem, the problem is only with this version of the print function.--Panic 22:30, 22 October 2006 (UTC)

The only time you need to provide an author's list, etc. (assuming that's the issue of contention), is if you publish a "modified version". Modified versions are created when you take the text of this book off of the wiki, and then modify it for your own purposes before publishing (this includes things like changing the title, etc... for example, if I were to copy a bunch of pages from A Wikimanual of Gardening, I might want to rename it "A Pennsylvania Garden", and then change all the chapters about individual plants to reflect what time of year they bloom, Pennsylvania nurseries that carry the plants in question, and so on. In that case I would be required to do the things in Section 4 of the GFDL.

This particular print version doesn't do that, but instead will print out with the titles of the actual book here on wikibooks, and will include both a link to the original pages and a reference to the last time it was edited (thus allowing any interested party to look up the diff in the contribution history).

The whole point of the GFDL is to make things "publishable by anyone", and for small print runs, it's essentially the same as Public Domain (unless you print a modified version)...you just have to include a copy of the GFDL licence, which this document does.

I think what you're confused about here is the difference between authorship and copyright ownership. The copyright to this book is actually held by the Free Software Foundation, not wikimedia, wikibooks, or any particular wikibookian. If your concern is to make sure you're listed as an author somewhere (which only seems fair), you could create an "authors page". However, you should again bear in mind that there is no policy on wikibooks (or in the GFDL) about who is listed on these pages. Derbeth, Guanaco or Whiteknight might be able to make a bot for counting up edits across the book and come up with the top 5 if that would help. But as far as this print version being a copyvio, it's not. If it would make you more comfortable, why not just make the authors page, come up with your best estimation of the top 5 contributors, and simply transclude it on this page when you're done? -- SB_Johnny | talk 16:45, 22 October 2006 (UTC)

I think I made it clear that it was about that list I was talking about (as it is stated in the first post) the authors page does exist. ( http://en.wikibooks.org/wiki/C%2B%2B_Programming/Foreword )

Nope I did not confuse authorship whit copyright ownership, I'm the author I have the copyright of my work witch I chose to license under the GFDL here at Wikibooks. Author is defined in copyright law and is not the subject of this particular discussion. Wikibooks is the publisher of the work.

Even more complex here is that this is clearly a "modified version", since it does reduces the content of the hole work without creating a fork since the content is virtually aggregated in "real time" to form the "modified version" and intended to produce a copy outside of wikibooks. But also this is not the point here.

What I requested is listed on the first post, it will not only protect my work but others that contributed to it, this is the spirit of the GFDL to protect the work and the authors and as you said to make things "publishable by anyone", but the particular authors list is protected under the GFDL and the wikibooks copyright policy, hence the need to include reference to books, other authors and wikipedia on the final book.

As I have said above it nearly the same as not providing a full copy of the GFDL on the generated print version.--Panic 17:50, 22 October 2006 (UTC)

I see. It's a bit hazy though whether this is a modification of a single document, or a collection of documents (see 6. COLLECTIONS OF DOCUMENTS). I'm relatively sure that it's actually the latter (a collection), or certainly could be interpreted that way (in fact the GFDL is in the process of being changed in regards to wikis, and this is one of the reasons).

It's not copyvio. It is a wiki however, so you're welcome to add that page to the print version if you like. Darklama, who works on the book, is also welcome to edit that page and add his name. -- SB_Johnny | talk 18:26, 22 October 2006 (UTC)

That is not what is under dispute here, but at this time I object on considering Darklama a book author (as per the legal definition of author).--Panic 18:43, 22 October 2006 (UTC)

Don't put copyvio tags on things if it's not a copyvio issue.-- SB_Johnny | talk 20:05, 22 October 2006 (UTC)

You just agreed it could be, (even if you weren't shure), and I it clearly violates the policy...--Panic 22:30, 22 October 2006 (UTC)

Panic, if your interpretation were true, then the entire book would be a copyvio because it (a) used materials from other books that were merged in, even though the whole books weren't merged in, and (b) because a lot of other pages, templates, etc. were removed, therefore the book itself is an excerpt from a larger book.

Stop screwing around, stop trolling Darklama, and stop adding copyvio tags when there's no copyvio. If you're blocked, you'll have no say at all in what's done to the book, and if you continually put yourself in the way of the core principle of "anyone can edit", you will end up being blocked. This is really counterproductive to the mission of wikibooks, so if you can't work with others, then you really have to rethink writing on this particular platform which was created with the intent of allowing collaborative efforts to create textbooks. -- SB_Johnny | talk 22:52, 22 October 2006 (UTC)

Yup the book is a derived work from other peoples contributions.

I'm not "screwing around" not even trolling Darklama, and I will take this problem to other instances since this is a core subject that needs clarification it is of the same importance as removing the GFDL full copy from a print version.

This problem doe not infringe on "anyone can edit" but its a single and simple case of the letter of the license and active policies at wikibooks. And I disagree on it being considered "counterproductive to the mission of wikibooks".--Panic 23:19, 22 October 2006 (UTC)

You're screwing around with copyright law as a means of "defending" "your" book. You have continually gone out of your way to prevent Darklama from editing, and you're adding a copvio tag to make a point, because I find it difficult to believe that you actually think this is really a copyright violation.

I would be more than happy to step out and let another mediator work with you, but please be clear that using this tag the way you are using it is unacceptable, and will not be tolerated. -- SB_Johnny | talk 23:31, 22 October 2006 (UTC)

I don't consider it "my" book and haven't taken any action, not a single revert to any of Darklama contributions to the work, and this doesn't have any thing to do with Darklama other edits. This has to do with the general broad (and in my view abusive) interpretation given to the GFDL and copyright law by a great number of users on Wikibooks.

I really think that it breaks the copyright policy and the GFDL license I would not have taken the time to point it out otherwise.--Panic 23:42, 22 October 2006 (UTC)


 * Would it make you feel better if this template was used instead? Keep in mind that every individual chapter of this book is a GFDL document, and can be printed without the rest of the book. The "print version" here is in that sense a collection of GFDL documents. If you copied and pasted the whole book onto one page, it would be one document, but it would also be a copyvio if the page histories were not also merged. This page, however, is nothing but a bunch of templates that transclude a bunch of GFDL documents: IOW a collection of GFDL documents.


 * The only time a wikibooks module can be a copyvio from another wikibooks module is if it is copied and pasted wholesale without either the history of the original or at the very least a link to the original (which might be done for forking purposes). -- SB_Johnny | talk 00:12, 23 October 2006 (UTC)

I'm sorry to say that you seem not to understand what my intentions are, I wish that the policy and the GFDL on this specific point be used and to form a base for any such disputes as I said above there was once a dispute about including the FULL GFDL on print versions and that was enforced the authors list is requires on any hardcopy of a book also (that is my point), I've now sent an e-mail to the EFF and a fax to Jimmy Wales if I'm proven wrong on this topic at least it will make things clear not only to me but to the community, since I disagree also with other points like the definition of author used by some users that doesn't seem to comply with the law.

A major problem is that such policies or interpretations can't fallow the standard adoption guidelines they are ABSOLUTE and should not be given to wide interpretations (a contributor to a book may not be an author under the law there are degrees as I've stated earlier, but that in not the point on this specific discussion, but we as a community must address this problem ASAP since many contributors seem to have another interpretation of it).--Panic 00:56, 23 October 2006 (UTC)

If my point has some flaw maybe we can also remove the full copy of the GFDL and save some trees in the future :)--Panic 00:59, 23 October 2006 (UTC)


 * That's a better place to discuss this stuff than on the talk page of this book and/or your user talk page. Let us know when they get back to you. -- SB_Johnny | talk 11:56, 23 October 2006 (UTC)

Book Reorganization
There seems to be a few remaining issues with some chapters overlaping one another that I think should be addressed.


 * There are multiple chapters that try to do an overview of basic programming related concepts, that I think should be merged into one chapter, after some editing to cut down on details. I think instead of giving too much details the chapter could also act as a guide to where more details on the relevant information can be found in the book. The chapters are:


 * 1) Introduction
 * 2) What is a programming language?
 * 3) What is a program?
 * 4) Understanding the Source Files
 * 5) Programming Paradigms

The new chapter could cover the history of programming briefly leading up to the creation of C++, somewhat expanding on whats already in Introduction and possibly explaining the rest of the concepts in terms of when they were introduced. This chapter could then end with a summary of basic C++ programming concepts that are explained fully in later chapters along with what those chapter names are as wiki links. This chapter would be for readers not familar with C++'s history or with the most basic programming terms and concepts.


 * There is some overlap between what are variables and what are operators that needs to be addressed as well as two chapters on operators that should be merged. There is also the statements chapter which I think should be part of whatever chapter describes these concepts. This chapter would also describe chaining operators together and how C++ evaluates expressions. My idea is to have one chapter that talks about statements, expressions and operators. This would probably require rewriting the chapter once merged together. Arrays should be be part of the chapter on variables because arrays are out of place anywhere else. References and pointers I think should either be in the chapter on variables or described in a chapter on memory management. The varies operators used for arrays, references, pointers I think should only be described in terms of their binding order in whatever chapter describes expressions, states and operators instead of fully explaining what arrays, references and pointers are as seems to be the purpose now.


 * There should be a chapter on memory management which discusses using new, new[], delete and delete[] operators and describes basic concepts of how memory works. Since references and pointers are typically related to memory this may also be a better place to discuss them in detail rather then a chapter on operators where I think they are a bit out of place. This would also involve merging the contents of "Internal storage of data types" into this new chapter.


 * The two chapters "Abstract classes" and "Pure abstract classes (abstract types)" I think should be merged into the "Polymorphism" chapter, because abstraction is one of the key concepts of polymorphism and shouldn't be separated into different chapters.

I would be willing to try to do all this if there's no objections. I think all these changes would improve this book a lot and then I should be able to concentrate more on correcting errors and expanding on concepts. --darklama 20:01, 7 November 2006 (UTC)

If you intention is extend The Introduction chapter, clean it up and move parts to a sub chapter that would cover the history of programming languages and C++ in particular, that I think is a fantastic idea.

As for moving the *The two chapters "Abstract classes" and "Pure abstract classes (abstract types)", this are C++ topic that must be easy to find and read for a users and Polymorphism is a concept that can be learned or skipped as it is independent of the only C++ content and should be introduced in Programming Paradigms under the OOP information.--Panic 01:08, 13 November 2006 (UTC)

No my intention is to combine "Introduction", "What is a programming language?", "What is a program?", "Understanding the Source Files" and "Programming Paradigms" into one chapter and clean it up. Whether its split up into sub chapters or not depends on the results after the merging, cleanup and extending happens.

As for the "Abstract class" and "Pure abstract classes (abstract types)" bits being combined with Polymorphism being hard to find. Part of the reorginization plan with the above combined chapter is to describe what each chapter covers in more detail then whats provided in the table of contents description, as is sometimes found in the first chapter of a book. This should make it very easy to find what a reader is looking for.

To give an example:


 * Variables : Variables store or hold information that a program needs to know about. This chapter covers the concept of variables in more detail along with the various kinds of variables you need to know about.

...but the information for the chapters would be a bit longer than that.

This first chapter would become a quick walkthrough of important Historical events that lead to the creation of the C++ Programming language and then what new concepts C++ introduced. Along with explaining what a programming language is and what events lead to the concepts of divided a program up into logical units such as source files. This would also effectively cover different programming paradigms from there historical 	significance. Followed lastly by what this book covers and how the chapters are layed out. Whether this ends up being a single page or spreed out over multiple pages depends on how big it becomes. All I got to say is we should start with just one page and go from there. If it needs to be split up over multiple pages so be it, but transclude all the subchapters into a chapter page for those readers who wish to read it all at once. This was my motivation for trasncluding those chapters into one, to begin this process. Really it needed to be copy and pasted into one chapter rather then trasncluded, but I was trying to start off slow for you. I really rather see the first chapter be an overview chapter and leave later chapters as "closer look" at what was just covered in the first chapter, then readers who need or want to know can read the first chapter and those readers who want to dive right in can skip ahead without losing out on any important information. I believe this is what you want too, even if we don't exactly agree with how much or how little information should be given. If you can agree that certain stuff like how C++ implements data abstraction is held off until later chapters like Polymorphism with this reorganization then all the better. The first chapter becomes an overview what it is all about, and the later chapters the why and how. --darklama 02:41, 13 November 2006 (UTC)

I don't see a need in reducing the books parts (unless it has some duplicated content) as for merging "Introduction", "What is a programming language?", "What is a program?", "Understanding the Source Files" and "Programming Paradigms" into one chapter (if you mean more that under the single section), I don't like the idea as the subjects are independent of each other and "Understanding the Source Files" is the only one that deals directly with C++ concepts, if the intention was to set them on the same section/chapter what would you name it? (ultra-basic ?), the only problem with that is "Understanding the Source Files" doesn't belong on the same section. --Panic 17:15, 13 November 2006 (UTC)

Well I think those parts need to be cleaned up a lot and tied together as one chapter. My idea to try to take a slightly different approach to the topics covered in those pages so that it is easier to follow and understand and those who know already something about it can skip ahead. Source files are not concepts strictly new to C++. My intention is to set them up as part of the same chapter and the name could be Introduction. To give a general idea of what could happen if it gets long enough after merging and cleaning it all up is:

Introduction (actual chapter name, transclusion of all subpages) Introduction/History (includes history of OOP, procederal programming, structural programming, early history of C++, etc.) Introduction/About (description of what this book covers, description of what each chapter covers)

It would be basically like what you did to Inheritance and Polymorphism in a way in which you made them subpages of the Class chapter. The only difference is they would be one page for now while I cleaned it all up, possibly make major changes to it and expand on it. Its a bit hard to explain it without doing it. Think of a "dead tree" book, books have chapters in them that try to be self contained, generally with the exception of the first chapter which covers what the book is about, who is meant to read the book, possibly a bit of a history of the topic and sometimes a overview of what the chapters contain so readers can skip to the chapter they are most interested in. If you look even at other well-written wikibooks that have a big contribution base they follow the same guiding principals as a "dead tree" book.

These last steps that I proposed are what I think are the finishing touches of my "this doesn't flow very well, needs more flow to it" theme that I've been raving about. I think its truly needed to turn a major tide of the book from "difficult to read" to "easy to read" and I think everything else I've worked on so far has been working up to this. I think your decision to hold off on discussion of my other suggested until this is completed is a good idea. I think this major change is a must. Oh and I'm not trying to reduce the contents with this move, just trying to get it in better shape, in the contrary I think it will actually end up increasing the size of the contents of this book.

To give you some more example here's a generalized approach I have in mind:

In, introduced which contained variables that allowed programmers to store information temporarily in memory, the idea is said to have been borrowed from algebra and in the early days of programming only single letters were allowed to be used to present numbers.

In, introduced functions with his/her creation of the programming language...This was the beginning of functional programming.

Maybe that will give you an idea of how I plan to combine it all together into one chapter. Right now sure it may not make since, but thats part of the reorganization and clean up process I have in mind. :) --darklama 18:36, 13 November 2006 (UTC)

Well in the part of extending the introduction and adding more history we are in agreement, please don't remove the Wikipedia links, if possible link to this book if a section exists (or if it should exist, leave the link to Wikipedia), if it shouldn't and another Wikibook has the information use Wikibooks as the reference. Ok this will get you go ahead with the work.

As for the section name moving all under an introduction chapter seems acceptable but remember that as I said "Understanding the Source Files" is not generic like the others it introduces the idea of C++ file extension (with limitation on the OS) and naming conventions that are not and should not be part of the style conventions. --Panic 18:49, 13 November 2006 (UTC)

Well perhaps then the Understanding Source files page needs to be split up into seperate parts, with the parts that deal with understanding source files being within this new introductory chapter and the bits about file extensions and naming conventions in some sort of guide to getting and setting up a compiler. Of course I think such a chapter would need to be general enough and not cover how to do every little thing in the compiler. Just how "do I compile this thing?" basically. --darklama 19:10, 13 November 2006 (UTC)

Ok well talk about that when you get to that part (Understanding Source files), a introductions to the OS would be welcomed and the file extension/names part could be used there. Humm the Hello World example has a little introduction on how to use GCC a more complete one is still missing. A introduction to Make tools is also missing.

As for what a compiler is and how to use (in general) should be kept separated, but all the information would be welcomed. You probably can't write a "how do I compile this thing?" with general orientations in several compilers without needing to introduce more evolved concepts, it can only be done in simple and basic examples (like it is done in the hello world)--Panic 17:07, 20 November 2006 (UTC)

Actually the simple and basic examples like is used in the hello world page is what I had in mind for any chapter on getting a program compiled and any naming conventions with maybe a note template added to suggest readers read their compiler documentations and maybe also refer readers to the weblinks page in the book for any online documentation that may be available or tutorials or other wikibooks that might be helpful. Something like a 1 to 5 minute guide to compiling with g++, visual studios, etc. is all I had in mind. I don't think we need to cover Make tools, I believe there is already a wikibook that covers Make tools and other common tools found in a Linux/BSD environment. Anyways I guess I can just get started and whatever isn't needed any more from Understanding Source files can be deleted and we can deal with whatever is left of it then. --dark lama  17:48, 20 November 2006 (UTC)

#warning Directive
Could someone explain a bit about where this directive is documented? I can find it in the CPP Manual, but how widely is it accepted? I notice that Visual Studio 2005 does not accept it as a valid directive. How about some of the other major compilers? Is it part of a recent standard in either C or C++?

(please sign your question and in the future place them in the Q&A page as stated on the cover page of the book, txs) [moved from Talk:C++ Programming/Preprocessor] - Panic 2006

Pointers and Arrays
I would like to have a bit more of how pointers work and what their function(s) are.Also i would like to know what Data Structure can be used to write a function that returns an Array of elements.Your help will be highly appreciated.

[moved from Talk:C++ Programming/Q&A] --Panic 16:28, 7 December 2006 (UTC)

Moved discussion from the Functions page Talk

 * Please speak for yourself. There is no "we" involved in this, own your opinions. I believe this person has made benificial contributions which help to fix inaccuracies and bring clarity to the book. I believe your threats to revert and making it sound like you speak on behalf of others, to be a henderence to this book and if you carry out such revertion to be done so in bad faith, to be unciviled and a henderence to the book. --dark [[Image:Yin yang.svg|12px]] lama 02:37, 8 December 2006 (UTC)


 * We as the community (as it stand it almost falls under spam or vandalism), the alterations he made are nonsensical at this point...
 * If you agree with the changes (or if you are only jumping to bash me a little) you should examine first before commenting,
 * from the changed text (I did not perform an exhaustive revision)...

Arrays are not pointers, remember?

Now might be a good time to reread the section on arrays. If you don't feel like flipping back that far, though, here's a brief recap: Arrays are actually pointers to memory space. In this code:


 * This an example as it stands today, I was going to revert all the edits but as some did seem to make sense, and I had not the time to examine them further, reverting would be a quick fix so I've taken the time to point that out to the user. I did examine the users contributions and know that he has been contributing to the book, this was why I did not take immediate action on the issue, but the changes he made at this point are worse that the original.
 * And you by now should know more about me to be making that kind of insinuations, I really didn't expect that claims from you, so go cool down on a corner or take a break from admin service and read before commenting.
 * The only point you have reasons for some aggravation is the WE part and that was better served if you placed a remark on my personal talk page, but is standard policy (WE as in Wikibooks community) to classify such alterations as vandalism/spam (there is no definition, WE are working on it) if the work is not completed (by the starting party or by yourself) I will revert/or make my own changes. --Panic 05:56, 8 December 2006 (UTC)

Panic (or anyone else): if there is a specific change that you object to, please state why, and what the objection is. I don't see any examples above. If I do make an error (for example, write something that is nonsensical), I'm happy to have it pointed out. But please, do make specific points. I try to note when I'm correcting specific errors. For example, many people are confused because they don't understand the difference between the parameters (aka formal arguments) that appear in a function declaration and the actual arguments that are passed to it; understanding that distinction removes many other confusions.

The C++ standard is one source of the term "parameter" for this use (see e.g., [dcl.fct.def], preferring mnemonic references while the standard is being revised). [expr.call] uses the term "arguments" for the expressions used in a function call expression. Sticking to the terminology used by the C++ standard, where possible, ensures consistency and helps people to adapt to C++ instead of being confused by more general Computer Science terminology or terms from other languages.

"Methods" certainly are significant in Smalltalk, but don't correspond exactly to C++'s member functions. A Smalltalk method is the piece of code invoked as a result of message passing. Smalltalk doesn't have non-virtual methods, and indeed its dispatch mechanism is much more flexible than that of C++. (Smalltalk doesn't use the term virtual, of course, nor does it need to. All dispatch uses late binding in Smalltalk.)  C++ has member functions, data members (aka member variables, including static and non-static member variables), member templates, and so on. Indeed, the section of the standard introducing member functions is called "Member Functions" (mnemonic: "class.mfct"), and none of the 8 occurrences I find of the term "method" in the 2003 C++ standard uses the term in the sense of a kind of function.

Let's try to have a constructive discussion of how to present the material, and on the technical content. Wiki works best when you assume other contributors have something worthwhile to offer, unless they show themselves unable to work constructively and cooperatively. Throwing around terms like "nonsensical" and mentioning the possibility of reverting material should be a last resort. But please, do give specific criticism of anything you think is wrong. Here, if others may be interested, or on my talk page, if you think it likely not of interest elsewhere. -- James Dennett 05:45, 9 December 2006 (UTC)

OK, having looked at this module, I don't see any examples of nonsense caused by what I've written there, though I've fixed up a few more pieces of it (such as something that still confused an array with a pointer). So, specific notes of problems would be appreciated, if people find problems. Thanks! -- James Dennett

Since James Dennett has no time to alter his changes or debate the issue, I've corrected the conflicts I could find, James Dennett makes a good point (I must confess that I have the updated C++ Standard but use it only for consultation) I didn't read it from cover to cover, but his point in the nomenclature used should be fallowed...

I will start changing: methods to member functions functions arguments to function parameters

And will try to find a way of introducing this concepts at the beginning since I agree that "Sticking to the terminology used by the C++ standard, where possible, ensures consistency and helps people to adapt to C++ instead of being confused by more general Computer Science terminology or terms from other languages." --Panic 21:11, 9 December 2006 (UTC)

I've changes all references to methods to member functions, txs to Darklama for spotting some mistakes, another point that should be checked is the distinction of parameters (aka formal arguments) vs arguments that James Dennett pointed out.--Panic 02:49, 10 December 2006 (UTC)

Scope, Standards and Sequence
It seems clear that we want to mostly focus on standard C++, currently meaning C++ as specified in ISO/IEC 14882:2003. However, as I come to write some more material on memory management, it's very tempting to include some material on shared_ptr, either as boost::shared_ptr, as std::tr1::shared_ptr (from TR1), or as std::shared_ptr (as is likely to be in C++0x). If we choose to cover material that's not in the 2003 standard, we should at the very least be careful to make it clear that it is not yet standard. The bigger question is: to what extent, if any, should we cover TR1 or C++0x material? An argument could be made for having separate chapters for each of TR1 and C++0x, and then referring to them from other chapters as seems helpful, but I'm not sure that's the best approach. Ideas/opinions? -- James Dennett 05:45, 12 December 2006 (UTC)

From previous discussions and from becoming more familar with attitudes on Wikibooks, I'm of the opinion that material that might be in a future standard of C++ shouldn't be covered until they become standard. There is probably very little way to cite references that something is going to be in the next standard, not to mention could be qualified as orginal research. We got a chapter on Boost however, so I think boost:shared_ptr would be best served by being covered in that chapter.

I'm of the opinion also that parts of the C++ standard that deals with the library should be covered in its own chapter and for the most part that seems to be the way its been going, as we have a chapter on String and a chapter on Streams. The memory chapter I think should deal with using new, new[], delete and delete[] since they are considered operators rather then part of the standard library. I also think it might make sense to have C++ Programming/Data Type Storage part of that chapter and to cover references and pointers there as well.

Ok one last point to make, is I think that each chapter should try not to refer to other chapters too much. As you probably can tell there are two different table of contents and print versions available. This reflects differences in view in what order different concepts should be learned. So each chapter should probably not make any assumptions about whats already been covered or not, in order to try to remain neutral in favoring one view over another. It also has the advantage of making no assumption that on what readers have or haven't read yet.

To summarize my opinion:
 * Future Standards shouldn't be covered until they are accepted as current standards.
 * Standard C++ should be covered separately from the standard C++ library.
 * Each chapter should more or less stand alone and not assume other chapters have been read first.

--dark lama  21:08, 12 December 2006 (UTC)

That position on standards is reasonable (material on C++'s TR1, which has been published, might usefully be covered in a separate book).

As for having a section on memory management that doesn't document that RAII is the canonical C++ approach, with references to ready-made memory management classes, I'd be opposed to it. I do agree that covering the lower-level facilities should be done, but too many sources cover them without noting the better tools that exist for most uses. This does get into issues about neutrality, but a book on programming should try to mention best practices, which is non-neutral.

Incidentally, new/delete etc. are interesting in that they are part of the intersection of language and library: they are language features that rely on library features, and can be affected by user-defined replacements for operator new etc. It's not entirely possible to cover language and library separately -- nor, in my opinion, is it desirable. Separation should be based on subjects according to what they achieve, not implementation details.

It might be worth having a hierarchy: have a Memory Management chapter with an overview, a section on manual memory management, and a section on RAII. I'd have to think about a good way to organize that. Then again, that's pretty much the angle I was coming from already, and you seem uncomfortable at covering both manual memory management and automation of memory management in the same chapter.

-- James Dennett 00:31, 13 December 2006 (UTC)

You're somewhat correct. It's not so much uncomfortable with the idea of having manual and automation of memory management in the same chapter, as I do with the POV that automation of memory management is the way to go. I think the chapter's main focus should be on how a programmer can allocate and deallocate memory and gives tips on how to make it easier to do so, through the use of class constructors and destructions to minimize the need to keep track of it oneself and near the end possibly mention things like garbage collection, using tools that help to debug memory leaks, and using automated tools.

I agree there is no real way to separate memory management as provided by the language itself and provided through the standard library. I don't have much of an issue with combining that information in some chapter since it makes sense. Referring to memory management in other chapters is probably not a good idea though and that was mainly what I was referring to. That and suggesting discussing the boost memory management in that chapter, since it already has a chapter and isn't really part of the standard.

I see this book as being divided into three parts:
 * the first part teaches how to use C++ as defined by the current standard.
 * the second part teaches about the use of the C++ library as defined by the current standard.
 * the third part descriptions any non standard extentions and any additional libraries that might be useful.

To sort of tie the first and second parts together I think the memory management chapter falls as the dividing point, since its a little bit of both. --dark lama  00:55, 13 December 2006 (UTC)


 * Interesting; I think your last point exposes the core issue here. C++ can be taught bottom-up (in which case you'd want to cover the "language" aspects before the "library" aspects) or top-down (in which case you'd introduce some of the key pieces of the standard library from the very beginning).  Originally pretty much all C++ texts were bottom-up, and that has caused many problems.  More recently the best C++ texts have been top-down, and that's an approach I'd prefer if we can find a way to make it work.  Is it fair to say that your preference is for what I'm calling a bottom-up approach?  (Would you have a better term for it?) -- James Dennett 04:46, 13 December 2006 (UTC)


 * This isn't really my approach, rather how it already was before I started contributing. I don't really have much preference on it, but I do agree the approach this book uses does seem to not work too well. The only preference I really have is based on my own preferences in programming books which are ones that can be used both for reading from cover to cover to learn from and can be used later on as a quick reference. This usually means that each chapter is relatively independent of the others, and cases where it is not, it gives an exact reference to the page and section title to make locating the information a breeze and it contains appendexes in the back, which in the example of C++, has all the keywords, library functions, classes, etc that are available to a C++ programmer. I also believe in teaching good habits like not assuming just because X works in compiler Z that its going to work everywhere if its not standard, by not discussing non-standard things until later on the book when everything that is standard has already been covered. Using this method I believe removes clutter from books, since it can focus on just one core concept at a time.


 * So if your willing to help take this book into a completely different direction and have a lot of time on your hands to do so, then I'm all for it. The reason I say if you got the time, is I hate to see it only get half done, it would be better to try to make the current approach work if you don't have time to invest in making some other approach work. In some ways my attempts to change the first chapter may reflect inversing the book from a bottom-up approach to a top-down approach, so we may not be as far off in our thinking. --dark [[Image:Yin yang.svg|12px]] lama 05:34, 13 December 2006 (UTC)


 * Another way may be to take it one step at a time, working from the first chapter then moving onto the second chapter, etc. That way may allow for slow adjustments over a longer period of time without the issue of looking inconsistent. I've been working on trying to provide more consistency to the book without trying to change its approach too much, since it doesn't require as much time investment to do so as changing its approach would require. That is really my only concern with changing it from bottom-up to top-down, causing inconsistencies that in the time may make it hard to use for reading. --dark [[Image:Yin yang.svg|12px]] lama 15:38, 13 December 2006 (UTC)

Source Control
Should we just redirect the users to Revision Control, copy it across and hack and slash at it or write it all ourselves? --Rmccue 10:07, 14 December 2006 (UTC)

Redirecting to a Wikipedia article is always a bad idea. I'm in favor of describing what Source Control is and how its useful to a C++ programmer briefly and directing readers to other Wikibooks for additional information in a slightly broader and more general chapter on Tools that are useful to C++ programmers, such as IDEs, Debuggers, Profilers and Source Control programs. If your interested in basing a page on contents from Wikipedia there is a process for requesting an articles for import from Wikipedia in order to preserve the edit history and increase compliance with the GFDL. --dark lama  14:16, 14 December 2006 (UTC)


 * The best way to go about it User:Rmccue is to copy it to your sandbox in your userspace here at Wikibooks hack it there and then move it to the book (do try to give it a twist so that only C++ related concepts remain), if you need any help on the hacking :) say so and I will do what I can. There is no major change to do in the book as rights are concerned as Wikipedia is already given credit as a source. --Panic 17:48, 3 January 2007 (UTC)

Free compiler
A major facilitator to learning a computer language is the chance to experiment by writing simple and not so simple programs. There are several free C++ compilers available on the web - I know of two, the GNU compiler and a compiler made available by Borland. Unfortunately the GNU entry is completely hopeless for use by a beginner. There seems to be thousands of libraries, for instance, without any guidance for what is needed to get started, or how to set it up.

The Borland contribution is much more modest and hence looks more promising at first glance. But here too, I have stumbled with the question how to get started. For instance, one simple question which eluded the documentation writers was what directory a user should use for his source code. In fact, I was never able to get to the point of generating "Hello World" with this compiler, (although I dare say, if I ever did get there, there would be no stopping me).

Maybe it was never the intention of this initiative to make up for the failings of compiler documation. Still, I for one would greatly appreciate someone taking the problem in hand, and I believe it would honestly contribute greatly to helping self learners make progress with C++.

--Philopedia 02:28, 7 January 2007 (UTC)

There is already a list of free compilers on the book and the final choice is always based on the users tastes or background experience, I personally don't particularly like new Borlands products for many reasons, the GCC or GNU compiler is one of the most common first start choice but at the moment and due to other factors I personally like the MS 8.0+ version of the compiler it goes by the standard (it still has some bugs but you can get another implementation of the STL if they get in you way) and you get a perfectly good IDE for free (See the link section for the Express Edition link, it is free), if you chose to use the GNU Compiler try Anjunta or Code::Blocks or even Ultimate++, but this all depends of what you like, one thing to be said of the MS Compiler and IDE is that the debug reports are the most useful I have seen and you get a good set of debug tools on the package, they are free but not opensource and only run on Windows (Visual Studio can run on Linux under Wine to but it may be a bit overcomplicated and should only be done with a good reason) and you can download or access MSDN documentation for free to, btw if you are learning and chose the MS solution stay away from the wizards until you know how to do the same by yourself, hope I have helped. --Panic 03:00, 7 January 2007 (UTC)

on Classes
Many examples are wrong (maybe copied from java?) and should be rewritten from scratch. --Gronau 10:34, 20 February 2007 (UTC)

As the text says, many things apply to both structures and classes. To help improve readability and understanding of this concept, I'm going to be combing the two chapters by hand. --dark lama  14:13, 26 February 2007 (UTC)

on Classes Inheritance
Uh, what's "NFS Underground"? You shouldn't make vague references to a specific video game that people might not know and use it as an example.

The whole page is very unprofessionally written, with poor spelling and grammar. Argh. 66.25.37.71 07:09, 14 February 2007 (UTC)

You can do it yourself, help us improve. (I will remove your principal objection to the text) --GoToMan 01:44, 22 February 2007 (UTC)

C++ Exercises book
I try to write an exercise book for C++ programming for beginners C++ Exercises for beginners. I thought the C++ books was too big an i had prefered writing a new book this a link to this one of course. Merrheim 15:11, 5 March 2006 (UTC)

Why not using a redirect from that page to an addendum to the C++ book and use the same name place of the actual book for all the content and have a cross reference to each part on the book to the exercises (the solution should not be on the same page as the proposed task) ie: C++ programming/exercises/topic/ C++ programming/exercises/topic/solution/ --Panic 17:12, 5 March 2006 (UTC)

Why not. It is possible too. Merrheim 17:21, 5 March 2006 (UTC)
 * 1)When the name C++ programming will be voted (march 14) I will transfer the exercises Book.

2) I think it is possible to have 2 versions with the same text of a wiki books (not duplicated text): one with a standard gui and one with beautifull menu template. I will do some tests ! 3) I want to participate to the C++ book 4) You dont like the solution template ? you can see the solution of th exercice if you want ! 5) I made a big mistake : EXERCISES takes a S in english ! 6) I am sorry but my english is not very good. tell me if you dont understand what i mean. see you soon Merrheim 15:17, 6 March 2006 (UTC)

No problem, I also do not have English as my main language, I've started working on this book in English so to get as many contributors/readers as possible (there are other versions of the book, see bottom of main page) the content should be the top most priority, translations can be done after the book gets to a comfortable stage. Do you use firefox? there are a couple of extensions that could help you in editing: SpellBound, gTranslate and Resizable Textarea to name a few you can get links and more from del.icio.us bookmarks (firefox+inuse), see my user page.--Panic 07:12, 15 March 2006 (UTC)

Is this dead? If no reply in 3 days I will try to contact Merrheim if it seems impossible I'll try to check --Panic 16:50, 28 September 2006 (UTC)
 * 1) If the content can be used on the C++ book
 * 2) If the author statement that it was willing to bring it's book content to the C++ book is still valid.

Merging into the book should be initiate ASAP, provide a stand alone TOC to the exercises, extract the completed examples and add them to the proper subject matter, also indexing them as examples and complete all examples extraction from C++ Programming and provide a example TOC (not exercises but only with the example source codes)--Panic 22:11, 20 October 2006 (UTC)

What do you have in mind for orginizing it into the book? I think for now, it should all be its own chapter on the form "C++ Programming/Exercises/exercise-name" and maybe "C++ Programming/Exercises/exercise-name/solution" if theres solutions to the exercises. --darklama 22:48, 20 October 2006 (UTC)

Yup, but using transclusion and posting the examples in the proper chapter under exercises (see variables/exercise) this will make it easier in the future to check all the code and add boxes.--Panic 23:13, 20 October 2006 (UTC)

Transclusion to where? I'm against transinclude the exercises into the chapters, they should be there own seperate part only placed in whole book view after the chapter, if you want to have it orginized that way. --darklama 23:33, 20 October 2006 (UTC)

Ok just to go ahead with this, do you agree to move the book to a Chapter Exercises at the end of the actual book, humm, maybe after the STL and before Beyond the Standard ?, Or a Volume if you are adamant in preserving it's structure after the Appendixes (will have to rename the first Volume I, (preserve the visualization and add it to the Volume Title and next to the whole book view) don't add to the whole book view and add a note on that. We can then decide how to organize it, this will preserve it's structure as is and enable us to link to sections of it) I think at the end of each chapter adding an exercise list (related to it) would be productive.--Panic 05:32, 30 October 2006 (UTC)

I agree with moving the book into its own chapter if there are no objections from anyone else. I suggest using the mergeto/mergefrom tags both on the main page and the main page here, to see if anyone has any objections with its merger. If noboby objections, then where its located in the Table of Contents or full/print book view doesn't really matter, since we're both presenting different views of the book. Preserving its structure may be a good idea for now. For example if/when moving the main page of the book move it to "C++ Programming/Exercises" and move its chapters to "C++ Programming/Exercises/chapter". My only objections is transcluding to existing chapters of the C++ Programming book, since that would effect multiple views, but changing Table of Contents and full/print views isn't as big a deal, since different perspectives on this can still be maintained. So for now if you wish to get it done, do the mergeto/mergefrom tags, give it a week or so, then move into here if nobody objects, preserving its structure and make changes to the Table of Contents and full/print view as you wish.

BTW I still think the TOC thats the main page seen when going to this book needs to be moved to something like "C++ Programming/TOC1" and instead present a different main/front page that shows the current cover image, chapters needing work and list of different views along with a link to the print/full page view and if you wish an edit link for the print/full page view. I've looked at how another book makes use of the front page that looks promising for ideas of what might work for this one, so I think I may do some more editing of my test page. --darklama 13:02, 30 October 2006 (UTC)


 * Still to do... --Panic 03:31, 25 March 2007 (UTC)

What a huge mess of misinformation and lack of knowledge
I have no idea why there is any objection at all to including a list of authors on this page, or why there is such a huge resistance to efficiently create a realistic list of authors other than, and I quote "Panic and other unnamed heroes...". This is the most insane thing I have ever seen in all my time that I've been working on Wikibooks. Seriously. Is this really what all of the big fight is over between the two of you, Darklama and Panic?

The GFDL, section 2(b) clearly states that you must:


 * "B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement."

Providing a round-about list to a bunch of hyperlinks that you have to click on more than a hundred times to determine who some of the authors are simply does not fit this requirement. I.E. the page histories of all of the modules in a given Wikibook. While that is useful to generate a list of authors, that is not an author list at all. When you add in people who deserve absolutely no credit, notably blatant vandals who have been completely reverted and admins (and others on the recent changes patrol) whose only participation was to revert those same vandalism attacks, as well as culling out all of the IP contributions (those can realistically be called "anonymous" edits as no single person can legitimately claim authorship situation here), you have already shown this list of contributors to be faulty.

The only realistic method of presentng this list of authors can only be done (at the moment) on a manually generated "author" page in order to meet this legal requirement of the GFDL. This is not copyright law that applies here, but the legal requirements of this license. If you choose not to keep the terms of this license, your right to copy this document is void as you have no other license (this book is not dual-licensed). Your attempt to copy this book, including printing it for personal consumption is a copyright violation.

As far as including the full text of the GFDL here, I would say that it is absolutely manditory here as well. Keep in mind that this is supposed to be the "printed version" of this textbook. The GFDL itself says in section 2(H):


 * "H. Include an unaltered copy of this License."

This doesn't say include a hyperlink to this license. It doesn't say that you can distribute the content and the license seperately. It says that you have to include the license.

Try this experimet. On your web browser, grab any old page here on Wikibooks and then click on "file" and then "save". Put the web page into a new directory (just to make things simple here.

Now go back to that directory on your local hard drive. Open it up in your file browser (not in your web browser). You will see an interesting file that appeared there beside the html file. Open the file named "License.txt". Get what is in that file. Got it now?

If this page is intended to be turned into a printed version of this document, as in you would be able to click "file" then "print" on your browser, it simply must have the GFDL documet included here. It is a very real legal requirement according to the GFDL... not for this web page but for the printed version that comes out of your printer. Including this GFDL text within this page is the only way to accomplish this legal requirement. --Rob Horning 04:40, 25 March 2007 (UTC)


 * No this isn't really what the really "big fight" was over. There was never any one thing that resulted in a "fight".
 * I never had any objection to a "realistic" list of authors. My problem is the fact it wasn't/isn't realistic.


 * I've also had issues with how Panic has tried to use the authors page, but I don't think thats going to be allowed to happen any more, so thats probably resolved or at least can be considered a separate issue.
 * Not including the GFDL on the page, is another case of Panic wrongly accusing someone else of doing what Panic himself actually did. I chose to ignore it at the time, but since your topic is about "huge mess of misinformation" and you seem inclined to rush to judgment, I feel its appropriate now to point it out. The GFDL license always was included on the page. [ see for yourself] if you scroll to the bottom of the page, but was removed from [ a different page] by Panic, when i tried to add it.


 * I would prefer there to be a more general discussion perhaps on the staff lounge, on this subject. Right now Wikibooks has no policy requiring an authors page. Indeed there are probably a ton of books on Wikibooks that are available for print out without an author's page. So by your own words, as I understand them, we have a huge GFDL violation issue and need to discussion how to resolve this issue in general, rather then for any one specific book. I won't get into any details on my view of that here, to try to avoid this being discussed here. --<span style="font: bold 10pt 'courier new', comic, sans, ms;"><font color="midnightblue">dark [[Image:Yin yang.svg|12px]] lama 14:09, 25 March 2007 (UTC)

Authors
At this moment, the Authors page and template (maybe it has been used but I don't think that it is obvious enough) is "hidden" from general users. I think that we should add the link to somewhere appropriate, such as TOCs. - Ron Lau


 * I agree. -- xixtas talk 23:50, 5 April 2007 (UTC)

TOC1, TOC2, Editors TOC
This conversation moved from Talk:C++ Programming.

Can anyone explain in 1000 words or less why there are three different main navigation pages for this book? In what way do readers or contributors benefit? -- xixtas talk 21:13, 25 March 2007 (UTC)


 * TOC1 and TOC2 were the result of differences in opinion, on how the chapters should be organized for reading, in which the only compromise that could be reached was to allow more than one way to exist, where readers could pick. Editors TOC was the result of bold action to present a cover page for readers and writers to pick which one to use, along with things that need work or people would like to see added, and links for print versions of all the chapters in the two currently presented reading orders, until it was moved yesterday to Editors TOC.
 * This book has a history of having different navigation methods. In the past there existed navigation involving a table of content sidebar with the contents to the left or right of it and one involving table of contents top bar with the contents underneath it. Which eventually was deleted due to nobody maintaining it and agreement to delete it. The only benefits I can see is choice and reuse without actually much duplication. --<span style="font: bold 10pt 'courier new', comic, sans, ms;"><font color="midnightblue">dark [[Image:Yin yang.svg|12px]] lama 22:20, 25 March 2007 (UTC)


 * The statement above is partially correct, TOC1 was the original structure "I" and in that I must be clear that without particular objection, only on some content that Paddu objected and that lead to the so called "fork". (I say this for historical reference and because it is true).
 * Most references inside the various chapters/pages are structured or I actively worked to and intended them to be so, to provide some structure and a logic sequence to the text (I admit that there can be other preferences), the 3 navigation schemes that existed came also from the book merge, I didn't object to their creation and use on the book but they didn't perform any order change to the pages/chapters and were abandoned (one of the conditions I asked to the implementor was that I had not to maintain them, as with TOC2). They were removed as a request for Darklama and without opposition by me.
 * I don't object to any navigation scheme that can bypassed to provide a monolithic view (I and several users seem to also like to be able to see the book on that way, for posts I saw here and there, It is a book convention to have that setup), the Editor's TOC (I named it so) as it didn't provide a global view of the book and was mostly useful (and is a great idea) to editors but broke the default navigation scheme provided by the use of the page name convention ("/") and its substitution was indeed contested by me actively, in particular to the removal of the link to the authors page that I see as a necessity on the book cover/title page. --Panic 22:43, 25 March 2007 (UTC)
 * Okay, so the cover page should contain a link to the author's page, I agree with that. What else? Obviously what is an appropriate index is contested, but there should be at least some general index of content on the front page to serve readers. Speaking about books generally and not this book in particular, it seems to me that the front page should be directed at readers and perhaps a secondary portal page could be created for authors because everyone first experiences the book as a reader. Or am I way off base here? -- xixtas talk 23:44, 25 March 2007 (UTC)
 * That was my intention, I don't even object to a change on the structure (but I would like to be involved and defend my point and in this case "my own work", I would not attempt to intrude in a similar discussion on another book, I would at most comment as a reader) a structure is the core of a work, all that is added is created above it, I don't object in having several structures (since wikis are virtual spaces and that makes it possible), but if the scope is to change then we must indeed consider a solution that can even result in a fork (that is still an open discussion), but I don't think this is the case here.
 * I think this is the result of Darklama being to much bold on the changes without listening to my objection, there were indeed action that have gone against some conventions of the book and resulted in deletion of pages, content and a corruption on the history logs in particular to the page C++ Programming/Programming Basics that is a result of merging 3 other pages that were deleted.( this was verified by other Administrator like Whiteknigh and there is still a comment on the last posts of this thread User_talk:Robert_Horning).  --Panic 23:55, 25 March 2007 (UTC)


 * Different books do different things: Some use the front page for just a cover image with a link to the table of contents. Political Economy, Social and Cultural Foundations of American Education, Non-nerds Guide to Computers, FontLab, etc. Which is probably what we need, with a link to all three "table of contents". --<span style="font: bold 10pt 'courier new', comic, sans, ms;"><font color="midnightblue">dark [[Image:Yin yang.svg|12px]] lama 00:06, 26 March 2007 (UTC)


 * So if we created a cover page with a cover graphic, links to the two alternate TOC's, a link to the editors (which is probably better named "contributors") portal, a link authors page and the charter would everyone be happy with that?
 * Can we come up with more descriptive names for the two TOC's so the surfer knows what is coming? Is one "exhaustive" and the other "quick start" is one "inclusive" and the other "selective"? I don't know, I'm just asking the question. The terminology TOC 1 and TOC 2 seems a little unfriendly to the causal surfer. It would be better if it actually described what the surfer would find if they followed the link.
 * Can we try not to bring up old arguments and instead find commonality moving forward? Nothing we say here is going to change the past. -- xixtas talk 04:10, 26 March 2007 (UTC)


 * reset

That is not so easy (and that is why it wasn't done in the first place besides changes to the content), it will continue to break the navigation scheme used by the page names the root must always be a index of all the content. It is possible to add a different root but not a bifurcation Go A or Go B. BOOKCOVER <-> BOOKTOC <-> BOOKCHAPTER <-> BOOKPAGE/SECTION (how can there be a path selection there ?) As for the names I don't have a clue, TOC stands for table of content or index as Darklamas was next, probably calling TOC2 Alternative Index is a good definition but the problems don't end there, who will maintain 3+ TOCs, and if anyone offered to create yet another or several? And who will check for divergences and collisions on the content (references to pages or chapter names, content out of order because in a TOC subject A goes before B and in the other A is after B etc... and this only in 2 distinct structures) Xixtas if I understand what you are stating, is that history has no relevance, and if it's so, I strongly disagree with that assessment. Have you created or contributed heavily to any book on Wikibooks, please state the name, I have a urge to create a new TOC there, or just start reorganizing the hell out of it (and I can probably find 1001 ways to justify the changes) :), lol see the logic? lol it would be very, very, funny if anyone attempted that for instance on the Ada book. --Panic 05:10, 26 March 2007 (UTC)
 * I have contributed to many books on Wikibooks. You can check my edit logs to find out which ones.
 * I'm sure you can think of better solutions than I to all those concerns if you try in good faith. These do not seem like insurmountable problems to me. You seem to be asserting a right of editorial control here.
 * Perhaps you would like to make an alternate proposal taking into account the concerns of other contributors? -- xixtas talk 13:37, 26 March 2007 (UTC)
 * I was giving you an example, not proposing to really change a book to prove the point. The point is that you think it is fine if a new contributor to change the structure of books without seeking consensus with the people working on it.
 * I said it isn't easy and I don't even see solution to some of the problems, and it would involve lots of work to maintain, I was not discarding a solution by compromise as I said I have no problem with different structures.
 * I really can't think on solve all solution. Darklama is the creator of the multiple structure, he has gone from a proposal to a partial implementation ignoring objections, he is the one that has to find and propose solutions.(a discussion of this same points is on the book proposals, I have done what I could and attempted to explain the problems with it)  --Panic 15:32, 26 March 2007 (UTC)
 * "...you think it is fine if a new contributor to change the structure of books without seeking consensus..." I do not recall saying this. Please do not put words in my mouth that I did not say. Besides, what I do or do not think is immaterial. I'm just trying to help the contributors to this book work through what seems like a serious and dysfunctional disagreement.
 * Perhaps you can explain to me why you believe that "it will continue to break the navigation scheme used by the page names the root must always be a index of all the content." In what specific way would the navigation scheme be broken if the TOC was moved to a subpage like Book Name/Table of Contents? I do not understand.
 * Divergences and collisions of content can be handled by avoiding clumsy linear references and common sense ordering of indexes. As to who maintains the indexes, as with everything else on the wiki, those who are interested in doing so will do it.
 * "...he is the one that has to find and propose solutions." I disagree. I think you should work together to find mutually acceptable solutions. Each needs to identify areas of agreement and concern and each needs to participate in the process of proposing and evaluating potential solutions. I encourage you to find middle ground. -- xixtas talk 01:43, 27 March 2007 (UTC)
 * Sorry about that, but then what was you referring to "try not to bring up old arguments" ?, today only exist because of yesterday, it is that sequence of events that brings linearity and logic, if we deny the past what meaning has the present. By arguments I understand facts or points of divergence, that until resolved must be addressed, ignoring them wont do and what you (and others) think and do is very relevant, at least to me, how else could I interact with you ?
 * The navigation scheme only supports movements forward and backward, a cover pages as Darklama indicated has no problem in being inserted on the front but how do you implement a bifurcation (or even 3 TOCs) if a user choses a chapter and wants to get to the list of chapters how does he work it out, it will have to remember at least what TOC he selected to get to the proper index, imagine this repeated 3 or 4 times, that is really non intuitive and so breaks it.
 * Can you give me an example on that "Divergences and collisions of content can be handled by avoiding clumsy linear references" this works on the Wiki env but not in a single page or in the printed version. (changing these option can't be part of a BeBold action).
 * I have helped him as much as I can, I gave him the freedom to implement all he wished until it infringes on my own freedoms, some things I like, some I don't but can live with it, some I object and state so, but this is voluntary I didn't sign anything that makes me work toward a single user vision, I volunteered to collaborate with any Wikibookian that doesn't make it an obligation. This it is like someone asking you to help him paint the moon blue and you state that it will be impossible but see if using some glasses with blue colored lenses will help, if he isn't satisfied what can you do.
 * I have identified areas of agreement and concern and have actively participated in the process of proposing and evaluating potential solutions, do you have any solution that resolves any of the concerns I stated so far? This can be basically summarized to an edit dispute and reduced to single line of text. (Most other books would even object in having several TOCs) --Panic 02:25, 27 March 2007 (UTC)
 * I am trying to get you to focus on the way forward, not on the road already traveled. You read far too much subtext into my comments that is not intended. I did not ask you not to dwell on the past because I disagreed with what you said, I asked you because I didn't want you to dwell on the past. I didn't bring this up because I didn't like the original TOC, I brought it up because I thought it should be discussed.
 * Thank you for explaining the problem with return navigation. To me that's an even better reason to give the tables of contents meaningful labels. I don't understand why darklama wanted to create an alternate TOC, it does seem to cause a lot of challenges.
 * Every wikibook is a collaborative project. This is an obligation that we all have, to work with others whether we signed anything or not. Every time you click submit you agree to "If you don't want your writing..."
 * Multiple printed versions are possible. By clumsy linear references I meant "In the previous chapter..." I agree that having multiple TOCs is undesirable, but here we are. Multiple TOCs already exist. I'm just trying to find a way to make them both work.
 * I have created a cover graphic for this book if you would like to use it C++ Book Cover. -- xixtas talk 04:06, 27 March 2007 (UTC)

I am focused in resolving the issues, but if Darklama doesn't maintain the TOC it will be a question of time to make this issue irrelevant, and I'm still against the logic of making changes off this nature on a very active book, knowing that it was not agreed upon. (not because of this book, but changes of this kind should not be subject to BeBold action it is almost as chattering to a book as a merge of significant content) When I asked you to reposition TOC1 in its original position was based on that fact, because it was there and was removed on a unilateral decission in express contradiction of what I and him had talked about (it was indeed waiting a viable solution). I don't agree with the wording obligation in "obligation that we all have, to work with others" there are various levels of collaboration and collaboration doesn't make it an obligation. An making others wishes came to fruition is way beyond collaboration. You haven't understood the problem completely :) if we add a cover pages (and considering only that) we must move all pages for instance coverpage <-> toc (on root) <-> some other page (on root) if you click on the default navigation button you will go to the coverpage not the toc as you need to select another page/chapter. To understand the problem enter the book as a reader and start using toc2, select a page and examine the navigation options, go back to the same toc2 and select another page, and you will see the problem. As for the image it is cool (what city is it?) but doesn't have nothing to do with the subject (in that the actual one also doesn't but at least it is smaller (and in file size as well), the one that exist now was enforced by the merging administrator (the merging of the books was unlawful), the original cover page is still on the book for further discussion and waiting a proposal to restore the books name (see content discussion page) one of the first posts. You should add your creation to that discussion. A full explanation is given about the one I created. --Panic 04:36, 27 March 2007 (UTC)
 * reset


 * It's the rainbow bridge in Tokyo, Japan. Has nothing to do with the subject, huh? I think a suspension bridge is actually a pretty good visual metaphor for computer programming topics generally. It has the curve of the bridge line representing the C and the two towers crossed by the deck representing the two pluses. My visual work is one place where I do go for subtext. The image can easily be resized. If the cover was to be professionally printed it would need to be at least that high a resolution. You can slag on me about a lot of things, but don't slag my art. ;P Whether you choose to use it or not doesn't really matter to me. It's not my book. -- xixtas talk 05:13, 27 March 2007 (UTC)


 * Lol add it here Talk:Programming:C_plus_plus/Cover_Image... (Btw do you mind moving this discussion to the content discussion page) --Panic 10:33, 27 March 2007 (UTC)

Any progress?
I haven't been watching this discussion, but i didn't forget about it. Have you people decided which TOC to use here? If you guys have a solution, I will unprotect the page and make it redirect to the proper place. --Whiteknight (talk) (projects) 18:22, 25 April 2007 (UTC)

Java styles
This conversation moved from Talk:C++ Programming/Weblinks.

Why is there a reference to a java style in the C++ style guidelines? While Java does support many of the things that C++ are not exactly the same -- quite simply, there are a lot of things in Java styles that won't fit C++. --80.198.74.58 13:45, 13 July 2007 (UTC)

Will have to check the content and context but probably because some of the styles are as you state partially used on C++ ? I'll try to check it out... --Panic 17:08, 12 September 2007 (UTC)

Ok I only now got to it, you were right. reference was moved to the Java Programming Wikibook. Txs. (Will archive this in 7 days since it a very old subject by an unregistered user. I would have replied in your talk page otherwise) --Panic (talk) 02:28, 28 July 2008 (UTC)

Thoughts on the C++ Book
( moved from Talk:C++ Programming/Thoughts on the C++ Book)

I think it should be p.num instead of p.a because p is a pointer to a structure of type A, which only has int num in it, and a is a structure of type A. I'll go ahead and change it, because I'm pretty sure this is right. rawrawrer (talk) 21:58, 22 April 2008 (UTC)

Perhaps more real world examples and flow within the book would make it more user friendly. Having more than one table of contents may serve to confuse and frustrate readers as well. Also, looking at programs from a larger scale and focusing on practical applications like user interface design within C++ in Windows and Linux (or other) systems and maybe fruitful. Thank you all for your contributions to the C++ book. C++ certainly is quite an important topic and probably one of the most widely used and functional languages as well, so it is quite an important book for the community. --Remi 23:39, 13 April 2007 (UTC)


 * Interesting ideas.


 * One difficulty with covering large scale programming issues is that the examples and explanations of any one could often fill a dedicated book -- and it's necessary to have a good understanding of the language (and standard library) before looking at the many factors involved in "real-world" programming in the large. It might be interesting to try to address that though; the online/wikibook form might have strengths that print books do not (for example, the fact that a 200-page appendix to cover one example might be entirely reasonable online).


 * User interface design (with a C++ slant) is another area worthy of one or more books on its own. Two issues are (a) the fact that C++ has no standard UI library, so it's necessary to pick one or more to use, and (b) the fact that many UI designs are handled fairly well by less powerful tools than C++.


 * (An aside: C++ isn't much of a "functional" programming language, though it has some limited support for some functional concepts. But you probably didn't mean "functional" in the technical sense.)


 * Thanks for the feedback/ideas (and your other input too). -- James Dennett 18:25, 14 April 2007 (UTC)


 * I share Remi vision for the development for the book, but such vision was contested previously on the book, it was one on the reasons that lead to the fork, or for the yet to be resolved move of the MFC pages out of the book unilaterally by Darklama, having said this, if we think about priorities, there are for now plenty to be added yet and some of the subjects Remi points out are now listed at least on the editor's toc for development...
 * Make files, source control, POSIX, Unicode, 32 to 64Bits and unit testing are without doubt less contested or less prone to cause conflict in adding them to the book, for me I also have a personal wish to take on wxWidgets in a near future, at the moment I'm developing software for windows (and with Linux in mind, WINE) using the MFC libraries, considering market share of the OSs this is a important subject not only for anyone intending to build more that experimental software or generic libraries. GUI and Networking are nowadays important to every developer and even to the a language (the C++ may evolve to support some of this functionalities in one way or another directly), at least that is what I've been reading from time to time, even if making it a reality would be difficulty, uniformity and a consistent API would indeed be a life improvement to any C++ programmer, at the moment we are faced with competing solutions battling for developers attention, some are not as free as they could be and are more shackles than an helping hand (btw I have a personal "hate" for the .net platform in specially to C++/CLI, count me out to contribute to one section about it :), but for instance I'm watching with attention the development of IronPython as a RAD tool for the MS platform, it will make prototyping a breeze).  --Panic 19:28, 14 April 2007 (UTC)

The Tocs
We really need to merge this into one TOC so we can start working on this book instead of adding this content here but not there and then take this content away from that and ect. See my point? 4.254.217.210 (talk) 02:53, 10 June 2008 (UTC)
 * Okay, everybody's ignoring me. That's nice.

Anyway, for those of you that do read this, I'm giving you a week to come up with the ToC this page is going to redirect to. If you have not settled the issue after a week, I'm going to let outside opinions decide. ~VNinja~ 23:13, 27 June 2008 (UTC)


 * Unfortunately this book has history and issues which lead to the current mess with multiple TOCs, and improvement has been resisted doggedly in the past. If you'd like to be constructive, you would do well to adopt a less confrontational approach; help to resolve this would be great, but throwing oils on the fire doesn't have much chance of a good outcome. -- James Dennett (talk) 03:16, 28 June 2008 (UTC)
 * Mmhm. However, it doesn't really seem like people want to solve our ToC problem, so, I'm attempting to force them too. ~VNinja~ 02:02, 29 June 2008 (UTC)
 * Well I was going to stay quiet and see were you were going User talk:VenomousNinja, since you had much enthusiasm but showed a limited level of knowledge of the problem involving the TOCs, and indeed you seemed aggressive in your stance, if the issue was still hot you would probably cause more damage than help solve anything in that way. Wikibooks is about dialog, compromise and consensus and a small set or rules are provided to avoid conflicts, due to the level/tone of your overall contributions I didn't took your first (signed) post as needing a reply and I generally avoid replying to unsigned posts, if you were the author of those, please consider that as the probable reason no one did address you.
 * Since James Dennett did try to address your concerns I will take this time to explain the issues to you, so to reduce the possibility that any problem may arise. As it is the TOCs have no real problem, at least at present the issue, as I see it is almost resolved.
 * The foremost problem was addressed by an administrative removal of any TOC from the "coverpage" (to no one satisfaction I'm sure) and a lock is in place since then, that in itself as I see it against the normal ways such edit disputes should addressed or resolved but the conflict at the time was hot and not primarily around the TOCs.
 * As I see it the original sin and my primary concern was the unilateral substitution of the existing TOC by another, even after an extensive dialog and expressed objections were known and understood, looking back, it could have been a result of other active debates around several other and mostly unrelated issues, anyway the issue was as I said above resolved administratively with the result that we now have. What is still on the table is not the content/validity or immutability of of the TOCs (all TOCs were always open to edits, the book had even previously to this problem other TOCs) but the reposition of the status quo, that is the reversal of the first action, restoring the TOC to its original location (since the implementation of an address all solution is impractical if not technically impossible at present, having multiple TOCs exist on the cover page enabling several navigational schemes), in any case the substitution toc that was moved to the coverpage has been stale since the last "content" edit September 2007, at present it indexes less that 50% of the work and is mostly obsolete (there are other related edit concerns but not directly relevant to the issue). Since the creator of the alternative TOC did mostly esthetically and structural changes to the work, ie: created also the useful Editor's TOC (not part of the issue), and has since then started another book on the same topic (that is also stale now but created with the scope he was attempting to formalize on TOC2), since then there was a proposal to deleted TOC2 that has (formally) passed but need that I gather some confidence and check if the other part was aware of it (the page was monitored but may have removed it from the watchlist by accident), since I think the other editor must be directly informed before proceeding, but I have been procrastinating doing it...
 * Ok hope I have passed to you an understanding of what "was" the problem and why things are as they are, or why I'm not to keen in speeding things up. --Panic (talk) 05:24, 29 June 2008 (UTC)
 * Nice history lesson, thanks. Really.
 * That doesn't help me, nor does it help the book. See, because of these multiple ToCs, we aren't getting any work done on this wikibook. The C# book is a featured book, and C++ is much better(in my opinion), so why should'nt we be a featured book? The answer is because our books don't have a high quality of work, which is caused by the multiple ToCs, another one of the reasons we aren't a featured book. In reality, I'm trying to work towards the goal of making this book featured, but before that can happen, we need an official ToC. ~VNinja~ 20:59, 30 June 2008 (UTC)
 * Ok, I have just performed the last step and contacted the creator of ToC2 and the deletion issue was not challenged, even if the user seems not to be aware or pleased on how the discussion and conclusion was reached, in any case I can only state that the methodology was the same as every other decission we take on the book and even greater consideration was given to  any objection than over the action that lead to the problem. So the requirements are now met and I will move to get the coverpage restored.  --Panic (talk) 16:50, 19 July 2008 (UTC)
 * Sweet. If I can help out at all, just let me know. ~VNinja~ 20:17, 21 July 2008 (UTC)
 * For fuck sake! Are you people children or something?  There are more than 1 TOC.  This is a problem.  Delete one of them.  It's that simple.  Why the fuck does it take you people so long to do the simplest of things?  Thank fuck Wikimedia isn't in charge of the world otherwise nothing would ever be done.  Panic stop fucking moaning and being confrontational, everyone else stop ganging up on Panic.  Have a simple vote (or straw poll or whatever the fuck Wikipedians like to call it) and then delete the losing TOC.  Do you guys need help putting your pants on as well?--217.202.56.85 (talk) 09:21, 12 August 2008 (UTC)
 * That's an extremely unhelpful comment & I'd be shocked if it actually does come from an administrator. I hope Xania will log in and either confirm of disconfirm that this comment was indeed theirs. &mdash; <b style="color:#309;">Mike.lifeguard</b> &#124; talk 13:24, 12 August 2008 (UTC)


 * Really, flaming isn't going to help this book and neither will it make you feel better. If you want to help, be helpfull, please. Gyzome (talk) 14:26, 10 September 2008 (UTC)

Any chance of refraining from unilaterally removing the link to TOC2 from the Editor's TOC while there's clearly not consensus? -- James Dennett (talk) 13:54, 14 August 2008 (UTC)
 * I'll restore it if you object to the removal. But consensus on the proposal was reached James, in the Decision making if you look in the process in point 5 it states "If there are no objections, the proposal is accepted and affirmative "community consensus" has been reached on the proposal.". I take you have some reservations on toc2 deletion by your vote on the aborted VFD (to what I gave a reply) but you failed again to commit in the extension (7-9 days) made to the adoption of the proposal, just to address the VFD vote you made, since there was no objection before that, I have made you direct request to express any still lingering objection, solution or alternative on the proper forum. Doing those type of asynchronous statement isn't very productive either.
 * Anyhow I have changed my opinion that there is a need to delete the page (TOC2), I have a yet incomplete concept that will indeed give the page some purpose, I will get to it when I have the time. --Panic (talk) 18:31, 14 August 2008 (UTC)

Suggestions on TOC1
Hello friends, I would like to bring your attention to the way the Contents of TOC1 is organized. You can see Baics, Advanced wtc. I found templates, exception handling etc in the advanced section. What I feel is few years before the text books organised these sections to advanced when they were introduced. Now they are mandatory part of core C++ language knowledge. Hence I would suggest to remove those kind of subsectioning. Rather what will be appealing is have a chapter on Exception handling which should become a bible as we progress. Have a chapter on Resource Management where we should collect everything about memory management. PLEASE DON@T DIVIDE THE CORE LANGUAGE FEATURES TO ADVANCED SECTION AS THE READERS WILL FEEL THAT THEY KNOW ENOUGH C++ AFTER READING BASICS BUT IN REAL LIFE THAT IS NOT AT ALL ENOUGH. Regards, Jayaram Ganapathy


 * Good point, the naming of the chapters has also suffered a bit of evolution, Darklama didn't agreed with the original names and order (that was I think one of the motivations for the creation of TOC2), I'll give a look on how it was before... --Panic 17:02, 11 April 2007 (UTC)


 * Take a look at TOC1 in 16 April 2006 the basics was called fundamentals, and indeed fundamentals give the idea of the foundation for something else and doesn't qualify the content in itself. I'll try and see what I can do about it. --Panic 17:07, 11 April 2007 (UTC)


 * As for removing the advanced section what is your proposition? Merging with the "Fundamentals" would not be correct (they are indeed extra features of the language that may not even be used for simple programs and there are old programs that don't use this "new" concepts"), it would also be wrong to mix it with the part about objects (classes etc) do you have a particular idea for that or removing the word Basic and probably give a little introduction at the begging of the chapter (with your points about the importance on learning all and probably a bit of history on the evolution of C++, to explain why). I have removed the word basic (if you feel that it partially addresses the problem I will rename the pages also. Did it help at all ? --Panic 17:17, 11 April 2007 (UTC)

The core language of C++ should comprise one section. The language is so interdependent that you cannot say exception handling is advanced and constrors are basic. When you write a ctor you should be aware that only exceptions are the only way to return the status of what happened in a ctor. Similarly you should not through an exception from destructor because when stack unwinding happens if an objects being destructed again throws an exception what will you do etc.. So the core language is one section and don't divide it into basic advanced etc. then the standard things as a section and non standard things in another section. Divide contents into 4

Introduction having all general things like what is a compiler, history of B, C C++ etc.. C++ Language Core language Standard libraries standard c libraries, STL etc Design Patterns implemented in C++ STructura, behavioural etc.. Beyond the standard Socke programming, threads etc Boost library, crypto graphy etc Appendix what ever meta information we want to have

And by the way we are into an ocean and new things will always keep on coming to be added. We will discuss and include it appropriately.

Jayaram Ganapathy


 * Have you got the C++ Standard ? If you take a look they do precisely that, I removed the word basic, it wasn't there because I added it fundamentals seems a better definition and was the original label of that section, the idea is that you can code in C++ without using exception handling, but contructors are needed to explain classes and um problably would be crazy not to use classes on a C++ program, but the TOC as it is is perfectly acceptable the problem seem to be the verbosity of the summaries of some section and that with time will be resolved (we have to take into consideration that the book originally was a monolithic page, I have split it across topics but some topics are still to generic to by name give an idea of what is inside, the other problem with TOC2 is the order of the topic again if we take a look as how it is ordered on the standard reference we see that there isn't no optimal order, so far I have ordered as people have asked and how I would have liked to read a book about C++ and other were ordered that way before I wrote a line into it. --Panic 17:34, 12 April 2007 (UTC)


 * I agree with Jayaram that exceptions ought not to be considered an advanced topic in any modern text on C++. The C++ standard is emphatically not organized as a tutorial or even as a reference guide.  The ordering in TOC2 seems to me to be much closer to what I want in a contemporary book on C++.  I could accept adding additional entries to TOC2, so long as it retains its visual cleanliness.  -- James Dennett 18:04, 12 April 2007 (UTC)

For me the contants and quality of materials is important. Even the name is not much important for me. Once the content is there TOC can be created in different ways. I like the layout of TOC2. At the end of the day a person refers to a material which he likes :-) . By the way some one wants to give a boost to boost libraries. Is that really needed? Jayaram Ganapathy


 * The visual cleanliness of TOC2 can't be guaranteed (unless we make it a book convention), make a proposal that explains what you meant by visual cleanliness (I call it simplicity), or provide a simple structural framework as example, and that would at least prevent it degrading, in any case anyone is are free to edit any page, but to provide a "standard" it should be written down, so to avoid divergences, add the proposal to the proper section and if up to me we should adopt it. --Panic 18:46, 12 April 2007 (UTC)


 * Guarantees aren't relevant. Very little of subjective value can be guaranteed, but that is normally not a major problem.  Aesthetics cannot be defined by rules and standards.  At some level we have to trust that people can form a consensus on a layout/appearance that works well.  Common sense is a better guide here than frameworks, standards, and formal proposals, in my opinion. -- James Dennett 19:56, 12 April 2007 (UTC)


 * reset

Agree but if you don't inform others what the goal is, it is difficult to hope that the layout or appearance would evolve on a single line or that it would continue to be as clean as it is now, that was what I was stating, if you provide some guideline people may decide to agree with you and commit to it (I would support it), if not "so long as it retains its visual cleanliness" may indeed be a small timeframe, it all depends on the number of editors and how divergent their aesthetic values are. --Panic 20:15, 12 April 2007 (UTC)

Take for instance the TODO box example, we could have 101 versions of the box in use on the book but agreeing in using a standard the text becomes more consistent, or for instance how you set code styles on a project if you don't inform the other programmers the result can be very messy, but do as you will, I was just pointing out that particular need... --Panic 20:21, 12 April 2007 (UTC)


 * It's not necessary to inform others in advance, though a small note on the Talk page could do that anyway. Assume good faith; most editors will not do dreadful things.  If there is something that looks problematic, we can discuss it with the relevant editor at the time and resolve it.  I don't see a need for people to "commit" to guidelines for a specific page; the general principles of courtesy and common sense governing Wikibooks are usually sufficient. -- James Dennett 22:23, 12 April 2007 (UTC)


 * That was what I was pointing out, it isn't a question of good or bad faith it is a question of consistency of actions, if you agree move this discussion to the content discussion page and evolve a bit more on what you consider maintaining the toc2 clear, I think I understand what you mean by it, but even that main not be correct, I don't intend in editing toc2 but if I see activity there I will help fix anything that becomes broken. --Panic 22:36, 12 April 2007 (UTC)


 * I'm sorry, I don't understand what you've written above. Could you rephrase it maybe? -- James Dennett 23:45, 12 April 2007 (UTC)


 * No problem, What I was trying to say from the start is that this is not a case of assuming good or bad faith, if not informed editors may pull in divergent directions. Stating some expectations or guidelines will improve consistency of edits, reduce confusion and avoid divergence of viewpoints (or at least make them clear), this can only be done by providing a goal or objective.
 * Toward that objective and considering your views and it seems Darklama's opinion expressed on TOC2, it would be helpful that some of what you expect to be written down so others can work in the same direction. --Panic 23:53, 12 April 2007 (UTC)


 * Is there a TOC from another wikibook that everyone likes the style of? -- xixtas talk 00:09, 13 April 2007 (UTC)


 * reset

That is an hard one, I have looked at several wikibooks and there seems not to exist a standard look, each seems to use the best format that addresses that particular book, I have made comments that the Nanotechnology TOC seems complex, but I would be hard pressed to came with a setup that would result as good as the one they used, another "look" is the one used on the C Programming book, it is close to what is now on TOC2, a simple and direct not thrills or with extensive information, that seems also to work well as the book is still very small (much more could be added to it), our TOC1 resembles more the Java Programming but has gone beyond that has the C++ Programming book now has more content and topics. As for the optimal or preferred option or setup I can't say I have one, I like the one that works for me (but I take into consideration not only what I want but the purpose that it serves), I'm not a Web designed (nor I like it very much, heck I use TiddlyWiki for my own pages as much as I can not to get into it :) ), I have done several UIs and I have an active project with a community than seems to like my design but software human-machine interfaces aren't exactly portable to the Web environment or even more to a Wikistyle, anyhow every CS course has a class that teaches how to go about it (colors, distribution, stratification of information by usefulness etc) but it doesn't take into consideration personal tastes or ones eye for detail :). --Panic 00:26, 13 April 2007 (UTC)

I generally prefer both simplicity and making good use of space on a page, so to me Bartending and European History look kind of good. I also think Haskell's use of tables for the table of contents across the page looks good, because it uses more of the page, not leaving as much empty space and could be useful for this book too. --<span style="font: bold 10pt 'courier new', comic, sans, ms;"><font color="midnightblue">dark lama  00:55, 13 April 2007 (UTC)


 * Some observations/opinions about those TOCs. Nanotechnology - Great book very interesting read. But the Table of Contents isn't one I'd want to emulate. I think it makes it harder to find content than if it were presented linearly. C Programming is spare and lacks a lot of the features I think a good TOC can have. Java Programming seems to have some consistency problems but leaving that aside, the subheads are used for placemarkers within the module. I like the practical, spare setup of of Java programming. I think it makes it pretty easy to find what you are looking for. This is not how TOC1 is set up, TOC1 is much more difficult to use to find content. Bartending I really like this one except for the unused whitespace under the picture. European History I like but isn't really suitable for a programming book. Haskell's tables and use of tracks are interesting, and I don't feel that they are as difficult to navigate as the Nanotech TOC. In general people go to tables of contents to direct them to somewhere else. They are looking for something. Having too many words makes finding things difficult, having too deep a hierarchal structure makes finding things more difficult, not less so. -- xixtas talk 13:31, 13 April 2007 (UTC)
 * I've walk throw the book. It is great! It has 'everything' to know about C++, including history, macros and so on. War near TOC is only a symptom of another problem. I see there is problem, which TOC to chose. I think this problem follows from the fact, that this book has 'all in one solution'. It just describes every aspect of C++ (and even more general aspects as debugging). Anybody, that doesn't know anything about programming, can just read this book and receives all informational (and beyond) he needs to start programming. But I think, it will be better idea to 'split' the book on smaller books. Perhaps, by level of programming, perhaps by themes. In such a way, if somebody know basics of C++ but want to learn more, he will take only those books that covers themes he doesn't know. Splitting out the book will resolve TOC issue immediately. alexsmail 16:33, 19 May 2007 (UTC)

Cleaning TOC1
Since nobody else was trying anything, I decided to try to clean up TOC1 a little bit as per the criticisms people have mentioned about it. I wasn't able to clean all of it, because most of the TOC is nested in transclusions. My edits are HERE. If people like this, then I suggest we clean the transcluded summary pages as well. --Whiteknight (talk) (projects) 14:30, 13 April 2007 (UTC)

What should be on the front page?
This is a request for comment about what should be on the front page. I suggest TOC2 with a prominent link the "Editors TOC". Appropriate parts of TOC1 should be incorporated into TOC2 (the front page) and TOC1 should be deleted leaving only one table of contents, one editor's portal and one book. What do other people think? -- xixtas talk 23:49, 5 April 2007 (UTC)


 * That would certainly seem to me to be an improvement on the status quo. I'd like what is currently TOC2 to be more prominent and to be extended to be comprehensive.  It might be nice to have a "cover page" with some kind of picture and few words, linking to what's now TOC2, but that can be added at leisure; the main need is to make the book useful from the front page, and moving TOC2 there would largely achieve that.  In my opinion, though it was not my work, TOC2 is the best-structured and best-presented top-level navigation tool for this book at the present time. -- James Dennett 16:46, 6 April 2007 (UTC)


 * I agree with James Dennett on the coverpage with a picture and probably with the scope of the book, as people navigating to the toc aren't particularly interested in having the scope shown every time the page loads, the problem with that proposal is that all pages would have to be shifted to a new location, probably a content "directory", no big problem but lots of work for something that is more eye candy than anything else, if anyone would commit doing it they would need to finish it, that is the only problem I have with that change.
 * As for selecting TOC2 as the main table of content I have several problem that I have already enumerated previously, but I would like to understand what for James is the benefit that particular selection would bring over any other?
 * Xixtas can you express also why you suggest TOC2 ?
 * To me TOC1 is easier to navigate to any page of the book, provides a better insight on were all information is (this is also useful to point contributions as people can more easily edit and contribute in the proper section/page without a deep understanding of the global structure/framework), it uses chapters and is up-to-date now, as it reflects and provides the structure to the actual content and I guarantee my commitment to its maintenance (in the meaning that if no one updates it, I guarantee doing it), the only "problem" is that it displays more text but it offers also more options, this is a Wikimedia software limitation that menus or other type of controls can't be used. --Panic 21:45, 6 April 2007 (UTC)


 * (Re: the choice of which TOC.) It's subjective, bug I cannot read TOC1 or find anything on it; it's visually too cluttered and chaotic looking. If I wanted to exaggerate for effect, I'd say it was in the "please stop it, it makes my eyes bleed" category of page design.  The simpler, "cleaner" presentation of TOC2 makes it a lot easier to use -- for me, at least.  (I'll observe in passing that when I design user interfaces, other people usually dislike them but they're very efficient for me .  Visual design is hugely subjective.) -- James Dennett 22:52, 6 April 2007 (UTC)


 * Ho, I understand you there and agree that it contains to much text, probably removing the summaries would make it less cumbersome but would also hide useful information (to a user that doesn't know much about the structure or what content is available), we must also consider that the book isn't even in a 50% done situation by removing the extra information it would indeed make it less chaotic but probably harder to use and contribute, to me as editor and as user of the book I prefer using the monolithic version to have a feel on how the book is doing and evolving and to know what is missing and it does indeed helps to fix the structure, this was the principal reason the TOC1 has evolved has it did, bandwidth and speed is a major limitation to most users.
 * I'm not oppose to removing the summaries of the chapters if people think it would make it better (one can always have a complete copy on his userspace for reference) but the idea that lead to be as it is was to make it easy to go from page to page without having to open a complete chapter to read a single page, this is the basic usefulness of having a TOC (there was a request and approved on the book conventions to limit pages to 32K), a result from users requesting the dropping of the old monolithic view I used at the beginning to structure the book.
 * Personally I like a sparse(to the point) interfaces (that is one of the requisites I use to select and use anything) for example Google above Yahoo or del.ici.os over other bookmarking services but here we have a interface limitation that does prevent the customization of what is shown (for instance it would be great to hide the summaries as we can hide/show the TOC of a page)
 * Probably removing the image and the book scope (and print and Q&A boxes) to a previous page (coverpage) would remove some of the confusion but it would also implicate much work probably a bot that would fixes the structure would be indicated to do it... --Panic 23:26, 6 April 2007 (UTC)
 * In my opinion there's, too many unnecessary words in TOC1. Also the deep hierarchal structure seems undesirable to me. Something flatter that requires less decision-making from the reader appeals to me. TOC2 is definitely a more conventional structure. I've never seen a professionally produced book structured like TOC1 before. It's 4 levels deep (if you count the chapter headings as a level (which we should). But I don't really think my opinion matters too much. Also I would be happy with any table of contents that results in a low amount of duplicate content and pages with similar names being used in different versions. -- xixtas talk 22:53, 8 April 2007 (UTC)

For me TOC2 is better. For example the core language exception and templates is added into an advanced section whch I cannot agree. It gives a wrong impression to the reader and for a beginner he will feel exception, templates etc are advanced features and no need to know. I will suggest we create good quality materials in each section which should become a bible for the subtopic. Meanwhile we shouldn't omit any section from TOC1. All to be merged with TOC2 and if TOC2 is missing we have to add new sections. Jayaram Ganapathy


 * TOC2 is incomplete, the print version is not equal to the TOC's content, and the header levels are (and were from the start in conflict with the ones on TOC1, it also has several pages that are agglutinations of old versions of pages in TOC1 (even duplicating some content), do you consider it better or you have a distaste for the master heading (let's call them Chapters) of TOC1 ? --Panic 17:32, 11 April 2007 (UTC)

TOC1 contents which actually makes a long page is due to including the subsections in the page. Anyway when we open a chapter we get again the subsections in the top of the page. So all info in TOC1 we should link to subsections of appropriate main titles. This will be easy to navigate and the reader will not deviate from the concept he was actually looking for. Jayaram Ganapathy

I have now addressed the problem of pages with "similar" names (and even removed some unused pages and redirects) and restored some of the log history of others and the names now at least reflect more the content (there is some more work needed there but it is being addressed). As for the wording and the levels I personally don't need them nor do I make use of it, but for a TOC as I said above the need is to have all the pages at your finger tips, at the moment that is the only way, it can be indeed simplified the chapters aren't pages in themselves they aggregation of sections under a subject, the summaries lists all pages in use on the book (that is the function of the TOC) I am incapable or reducing the display of that information without reducing the usefulness or need of the TOC, the book is big and will even grow bigger (when the exercise book is added there will be exercises for each section). --Panic 23:09, 8 April 2007 (UTC)


 * I disagree that it fixes the concerns Xixtas and James have. In fact with Xixtas' concerns it makes the problem worse, because you've introduced even more sublevels with the module moves. You also seem to have misunderstood something I said awhile back again, with your introduction of all the Chapter_ pages. Those aren't chapters at all, but units (using textbook terminology), because a chapter covers only one topic such as Variables, rather then Variables, Functions, etc. Units covers the latter, helping to group related topics. Also including "Chapter" in the module name goes against naming conventions. I also support using TOC2 as the one and only table of contents (if such a decision is needed), and including a cover page.
 * I also think the 32k limit on size of modules need to be dropped too. This is a very limiting restriction, instead what should probably be the case is a module can be broken up into separate modules, when it becomes possible to divide a module into two or more unique topics. --<span style="font: bold 10pt 'courier new', comic, sans, ms;"><font color="midnightblue">dark [[Image:Yin yang.svg|12px]] lama 12:31, 9 April 2007 (UTC)


 * To what do you disagree? That it addressed in some ways Xixtas and James comments about TOC1 ?
 * Chapters are simply one of the ways to create divisions on a relatively lengthy piece of writing, such as a book, they are usually numbered or titled, chapters can have sub chapter for instance and yes in the lower levels the subject should be as restricted as possible, as for the structure. I think I know a thing or two about what I'm doing, part of the my formation also included Documentation Technologies were we were not only instructed on national and international norms but also how to write papers and in special technical paper and reports (by this I don't intent to imply that your views are less worthy of attention or consideration), I have agreed with Xixtas and James as they are right, the page has to much text but the book has too much content also and the TOC is intended for people to use and facilitate navigation that same content, TOC2 bare display is quicker and less confusing by it is also less informative on what is inside the each section, I have agreed that if they strongly feel that is best to remove that information I will do it, so to what are you objecting? That even removing that information would not suffice ?
 * I have done a review on other books and there is a great variety there are even more confusing setups, but few are as bare as TOC2, I have looked in particular to the books we most relate to C Programming and Java Programming and agree that in TOC1 we are a bit above those levels of complexity but also our book is now way beyond the C Programming and has just passed the Java Programming not only in the level of content but on topics, considering the still to do merge of the exercises book and adding an exercise section to each chapter, that will be even more text... --Panic 16:32, 9 April 2007 (UTC)


 * Yes, I disagree that it addressed Xixtas and James comments about TOC1. I think it goes in the wrong direction and introduces more of the problems that were commented on. There a lot of problems with TOC1 that I think TOC2 addresses and clearly people just prefer TOC2. I had previously tried to address the concern on finding out what each chapter is about as part of the general reorganization of several small modules which dealt with general programming concepts into one chapter by suggesting that this chapter also include a general introductory to what each chapter covers. I think the structure of this book is only complex because of how you do things and you butt heads with anyone who tries to reduce the complexity of the book. Its one thing to be instructed on how things should be done and another thing to be able to make it actually work. Your qualifications or lack of qualifications means nothing on Wikibooks, your only judged on your work and actions here. You could be a Nobel Piece Prize winner for all we know, but that doesn't make TOC1 any better if people don't like it. --<span style="font: bold 10pt 'courier new', comic, sans, ms;"><font color="midnightblue">dark [[Image:Yin yang.svg|12px]] lama 18:01, 11 April 2007 (UTC)


 * Darklama you know perfectly well that you were the first to ask for a new structure (and your objections were not only on the verbosity of the TOC but on the order or the chapter and in your need to remove, move and delete content, to what I wouldn't have any problem if you just added as much as you removed, this is the second problem we have amount our selves, second only to your objection to the authors page and the need to add the GFDL to TOC2 print version (at least that one is resolved) and the authors page seems to finally being addressed...)
 * More I have been particularly cooperative, you got your TOC2, with my support, but I notice that you haven't cared for it, even the print version is not equal to what the TOC contains, new pages were introduced and you have failed to add them to TOC2, in any case I will block any deletion plans for TOC1 (unless you can convince me of a real benefit, I haven't seen any but the real bare and simple aspect of it, to what I have stated my objections, we need to take into consideration the readers and that persons using the TOC may not know nothing about the subject or being just wanting to look at a particular section). --Panic 18:29, 11 April 2007 (UTC)
 * To me the structure isn't that important, content his, I don't understand the need you have on discussing what model we should use for a door and what color to pain it and the door nob, if the house is still to be constructed, take a look at Editor's TOC and do some work if you want, geez... --Panic 18:35, 11 April 2007 (UTC)


 * I'm hardly the first person to suggest it or say it needs to be done, I could possible be the first to try to do it though since the "forced merger" of two books. There was never a need to address the GFDL on the print out for TOC2, because it was always there, so I ignored that part of your false copyright violation complaint. You've only moved pages around and added pages which make no sense, so I have seen no need to add them. There are still yet other pages like the Windows API ones which of course haven't been added, because I think they shouldn't even be part of this book and any attempts in the past to address that have been subverted by you through reverting. TOC2 wouldn't of even been necessary if you have been more cooperative rather then simply reverting changes made to TOC1 to begin with. People's preference for TOC2, I would hope would open your eyes to the fact that your preferences are not necessary what makes a good book. I am a bit surprised admittedly that your even trying to understand people's objections to it. Saying you'll block any attempts to delete it though is a step back however.
 * In traditional textbooks, table of contents rarely mention what the chapters discussion, only what the names of the chapters are and the page number that the chapter begins on. I think that is one of the things Xixtas means by professional textbooks. Readers who know nothing about the subject aren't going to understand a summary of the chapter's topic either, by the time they've finished reading the chapter though, hopefully they will understand that aspect of the books subject. A person who knows nothing about the subject isn't going to know what section they want to read first and is very likely to assume its the first chapter listed. OTOH a person who knows something about the subject should be able to figure it out from the chapter names. --<span style="font: bold 10pt 'courier new', comic, sans, ms;"><font color="midnightblue">dark [[Image:Yin yang.svg|12px]] lama 19:12, 11 April 2007 (UTC)


 * reset

I will not rehash discussions we already know not to see eye to eye, take a look on the talk page of the print version of TOC2 and see perfectly well you objecting to the GFDL being included and the authors page. As for the first person to suggest a need to the TOC it was indeed you (or you can say it was me and that lead to the fork), for me you could also fork the book (there isn't really a policy or guideline closed on that subject), I don't think it would be helpful but if you think my objections is the only think preventing you of being productive (so far you have not added much content) then I would support you forking the book. Darklama consensus includes the option to not agree with, this in not about numbers I can even be the only one opposing your changes but if you fail to convince me of the merits I have the option to block (and I think it's obvious that I'm not blocking all your changes nor doing it in bad faith, some of your changes not only demonstrates a bit of disrespect but also consideration, your actions about the author pages and my request to include the GFDL was just an example. This is not a traditional textbook if it were I would also have objected to have 2 TOCs and we wouldn't be discussion this, right ? --Panic 19:22, 11 April 2007 (UTC)
 * My input has been requested so i've taken a look at the pages in question. First and foremost we can all agree that the page C++ Programming should not redirect to C++ Programming/Editor's TOC. I agree with the criticisms i've read above:
 * C++ Programming/TOC1 is confusing and cluttered. However, TOC1 contains all pages and has a complete print version.
 * C++ Programming/TOC2 is cleaner and more elegant, but there appear to be some chapters that do not appear on TOC2.
 * If TOC2 has the superior design (as it seems most people agree) then it should be made into the official TOC and TOC1 should be deleted. However, no TOC should be made the "official" one until it can pass two requirements: (1) it must be clean and easy to read, and (2) it must be complete. To that effect, there are two options available, from which I would advocate for the second:
 * Clean up TOC1 to use a better style, and to be less cluttered.
 * Expand TOC2 to contain all chapters, and ensure that the print version for this TOC is complete.
 * Putting this issue to a straw poll now would likely show 4 or 5 votes to 1, which is hardly consensus but at the same time is an indication that the minority should consider some form of compromise. Failure to reach consensus on the matter results in maintaining the status quo, which is ugly and not helpful. For the benefit of the entire book you people need to find a compromise, and failure to find a suitable compromise is unacceptable. --Whiteknight (talk) (projects) 19:23, 11 April 2007 (UTC)


 * reset

I object to a decission by straw pool (also you numbers don't seem correct, see talk page of TOC2 and I think I saw some user commenting in James talk page also), as for confusing and cluttered we can make the same claim of many other book TOCs this is your personal interpretation and it seem that even the main page of Wikibooks seems to have problems on this regard, but I agree if TOC2 fails to be updated it should be deprecated that was the reason I and Darklama used to remove a previous existing navigation scheme used on the book... --Panic 19:31, 11 April 2007 (UTC)


 * I didnt say to make the decision by straw poll. Straw polls cannot be used to make decisions, only to measure consensus. My point was only that there appears to be a majority in favor of TOC2, and that you seem to be the only person here defending TOC1. You mention deprecating TOC2 if it is not expanded, but by the same token TOC1 needs to be deprecated if it is not cleaned and improved. Furthermore, as the minority, it is unlikely that the decision will be made in your favor, and if you dont compromise you will be personally responsible for the decreased usefulness of the entire book. Beyond that, if you choose not to compromise (as is typically your method) you will be ignored as being stubborn and "eccentric" and the rest of the book community will move on without you. You have an opportunity to work towards compromise, i suggest you not waste that opportunity. --Whiteknight (talk) (projects) 19:47, 11 April 2007 (UTC)


 * I don't agree in general in using straw polls even to get an idea on the consensus "status", since by default they are polarizing, but that is another discussion for another forum...
 * As for you interpretation of me against the majority it clearly illustrates the point numbers shouldn't mater or be taken in consideration (for reasons already addressed on other discussions), and I disagree with your interpretation in general about the number and the status of the page just take into consideration Nanotechnology (Book of the Month December 2006), so it is clear that simpler isn't probably the way to go, Hum I think C++ also got an award or nominated for one some time ago, so not all is that bad, there are more important things to do in the book and if a TOC isn't maintained it should be discussed for deletion and not on the general VfD but by the book community, as we have done with the stagnant navigation scheme I referred above (deleted by consensual decission). --Panic 19:57, 11 April 2007 (UTC)


 * You can say whatever you want to say, but not compromising is not acceptable here. Any solution, even one that you personally disagree with is better then the current status. I have nothing further to say on the matter, as usual you are stubborn and unhelpful. --Whiteknight (talk) (projects) 20:13, 11 April 2007 (UTC)


 * Whiteknight what is wrong is you validation of actions against consensual discussion or lets call them BeBold actions without regard to expressed opposition. The current status exist because Darklama removed unilaterally the TOC1 from the front page (even after I have expressed objections to it) so please don't imply that I'm unwilling to compromise as I have done it enough times and even the existence of a second TOC is prof that I'm able to...
 * Consider the fallowing would it be OK for me to go to the book you are working on and change the cover page, without consultation with the other contributors of the book, and even do it if they expressed objections ?  --Panic 20:21, 11 April 2007 (UTC)


 * It is acceptable for you to change the cover page in a book I am working on without asking for my permission. You can alter any page in any book at any time. This is a wiki, and no author has unilateral control over any book or page, and no author needs to be asked for permission to make any change. If darklama didn't ask your permission, it's because he didn't need to. Nobody needs to ask you for anything ever.
 * The current status exists because you don't control this book, and because people are allowed to do things that you disagree with. I wanted you to be blocked from wikibooks forever, but you were unblocked: people didnt need to ask my permission to unblock you, and they didn't need to stop for every objection. Your continued participation on this project is proof that you don't understand the process of making decisions here. Who cares if you objected or not? does it really matter? should we all stop and ask for your permission when we make a change, and should the entire community stop making forward progress for your every disagreement? It would be nice if you would agree, but your agreement is not strictly needed if the community wants something else. You have two options really, unless half a dozen wikibookians magically join the discussion and agree with you:
 * Radically fix TOC1 to be cleaner and easier to read, and then try again to convince people that TOC1 is better then TOC2.
 * Accept TOC2, and make the changes that are necessary to make it complete.
 * Insistance that you should get what you want despite being the minority is called being "stubborn", and stubbornness has no place in consensus decision making. --Whiteknight (talk) (projects) 20:39, 11 April 2007 (UTC)


 * reset

That statement is not correct, I don't need to ask permission to change any page (but at least I should exert careful consideration when I do perform an action covered by being bold) that is perfectly explained on the BeBold, Darklama wasn't being bold he had previous knowledge that I opposed it, it was indeed a editors conflict that he unilaterally decided to shift to his understanding of what should be there, to his credit he only used editor's toc (my name it was TOC3), the status of the present cover page was created by that action nothing more. I'm not being stubborn, I'm blocking the change because I think the actual page (you creation) is not perfect but it is indeed better than toc2 or editor's toc, and continue to defend that toc1 is the better option, and until consensus is reached should have been restored. I strongly disagree in the power of numbers. --Panic 22:56, 11 April 2007 (UTC)


 * My "creation" was a response to an edit war to which you were a party. There would still be a TOC up there if you and your sockpuppets hadn't gotten into a war over it. You are being stubborn because something has to change, and you are resisting any option that is not yours. If you would spend half the energy cleaning TOC1 to make it better that you spend arguing with Darklama and I about all this stupid stuff, the TOC1 would be great and everybody would love it. --Whiteknight (talk) (projects) 01:28, 12 April 2007 (UTC)


 * Whiteknight, TOC1 isn't bad, it can indeed be improved as anything else, I have consideration for you comments as all other users views on what should be there, the toc is not overcomplicated and there are other examples of similar tocs on Wikibooks or even other that are more complex, in this case, I'm not the only "contributor" of that toc, it was the result of the evolution of the book under several editors (you can check the history of both tocs), toc2 on the other hand was a creation of Darklama (I even have contributed to it, but little I stated to Darklama that I thought it was of benefit having another structure available to the users, but that i would not actively maintain it) and was added with my agreement to the book (even altering the order of the pages, I have no problem with that). I have a problem on how you see that any user that wants to make a change can impose or even lead the book into disorder or degrade it's use by unilaterally and with disregard the be bold setup, that action has lead the book into what is indeed a edit dispute (not a revert war, even if you want to believe that the alteration was done by one of my puppets it didn't revert a change of Darklama), your action and SB Jhonny on this has been partial since you have empowered a user to bypass the normal decission and discussion process, in several steps this is supported by other discussions and divergences we have had and still have in other points.
 * I have no problem in working with Darklama or any other user I just reserve the right to disagree with some changes if not convinced that they are an improvement or of benefit to this book or on anything that does have an impact on the community, for instance TOC3 (the editor's toc, I see it as a great idea, and have used it and maintained it) I don't interfere in books I have no part in (even if I may do some edits or have some ideas I'll always abstain to do major reformatting without checking with the people actively working on it, this falls into the definition of respect for others views and in agreement of the BeBold), I'm not asking that toc2 should be deleted or in any way changed but it is my view that taking in consideration precedence and how the change was done, toc1 should be restored to its old position and discussion continue on how to improve it nothing more. --Panic 02:04, 12 April 2007 (UTC)


 * Sometimes less is more. Just to pull an example out of the hat in TOC 1 there's "Comparisons" which is described as "No language above all else, simple introduction on the diversity of programming languages and a jump point to more experienced readers." How is that in any way helpful to the reader? BTW, there are many other examples that would have worked equally well. I do wonder if all that small text was replaced with " Blah blah, rhubarb gobbledygook. Blah blah blah. " whether anyone would notice. -- xixtas talk 04:09, 12 April 2007 (UTC)


 * It is still a section under heavy work but you were correct no much info on that summary, txs for pointing it out. --Panic 04:18, 12 April 2007 (UTC)