|
Archives
D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger
C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows
digitalmars.empire
digitalmars.DMDScript
|
digitalmars.D - suggestion: D Book Project
↑ ↓ ← → Agent Orange <no spam.com> writes:
We should write a book about D, or even a D for C++ programmers book. It
would probably only be a handfull of chapters, and one or a couple
people could do each chapter. maybe even do it on a wiki or something. I
dont know how the styles would mesh but I just thought this would be
pretty cool to have.
↑ ↓ ← → Derek Parnell <derek psyc.ward> writes:
On Mon, 04 Sep 2006 02:31:12 -0400, Agent Orange wrote:
We should write a book about D, or even a D for C++ programmers book. It
would probably only be a handfull of chapters, and one or a couple
people could do each chapter. maybe even do it on a wiki or something. I
dont know how the styles would mesh but I just thought this would be
pretty cool to have.
May I refer you to http://en.wikibooks.org/wiki/D_Programming
--
Derek Parnell
Melbourne, Australia
"Down with mediocrity!"
↑ ↓ ← → Gregor Richards <Richards codu.org> writes:
Derek Parnell wrote:
On Mon, 04 Sep 2006 02:31:12 -0400, Agent Orange wrote:
We should write a book about D, or even a D for C++ programmers book. It
would probably only be a handfull of chapters, and one or a couple
people could do each chapter. maybe even do it on a wiki or something. I
dont know how the styles would mesh but I just thought this would be
pretty cool to have.
May I refer you to http://en.wikibooks.org/wiki/D_Programming
That book is not arranged like a book. Nobody could actually learn D
from it, even if it was fleshed out. It needs to be scrapped.
I've been considering this, and started to make a very basic TOC. I may
continue working on it. Or not :)
Coding style to be used throughout (note that this is NOT my style, just one
that's fairly easy to grasp and not difficult to read):
int function(nospace, before, function, parameters)
{
// brace goes on its own line
if (a) // conditionals have a space before their arguments
{
// in both functions and conditions
}
while (a.very.long.line.is.being.forced && to.wrap ||
or.look.very.ugly +
it.will.wrap.at.column - 80)
{
}
}
(in this TOC, [something] is used to describe content, not as part of
the title)
1. Before We Begin...
1.1. Short Introduction to D
1.2. D Compiler
1.2.1. DMD
1.2.2. GDC
1.3. Editors Supporting D
1.3.x. --- TO BE COMPLETED ---
2. The Basics
2.1. Introduction to Modules
2.2. The main Function, or Start at the Beginning
2.3. Basic Output [using std.cstream.dout]
2.4. Basic Input [using std.cstream.din, basic "Hi, I'm D. What's your
name?" prog]
2.5. Types [input of a few different types, up to dynamic arrays]
3. Conditions and Loops
3.1. The if Conditional
3.1.1. More Complicated Input [a program that asks age and makes a
"clever" response]
3.2. The while Loop
3.2.x. --- TO BE COMPLETED ---
3.3. The foreach Loop
3.3.x. --- TO BE COMPLETED ---
3.4. The for Loop
3.4.x. Advanced Uses
3.5. The switch Conditional
3.5.x. --- TO BE COMPLETED ---
4. Functions and Simple Arguments
4.1. The Concept of Functions [NOT in the Functional Programming sense]
4.2. Simple Functions
4.3. Recursion
4.4. Passing Basic Types
4.5. Passing Arrays
5. Basic Classes and Object Orientation
5.1. The Concept of Classes
5.2. Simple Classes [an extension to the input programs above that has a
"person" class with char[] name, int age, etc]
5.3. Methods
5.4. Data Hiding
6. Advanced Arrays
6.1. Dynamic Arrays, Concatenation and COW
6.2. Static Arrays
6.3. Associative Arrays
7. Modules
7.1. Modules and the Filesystem
7.2. Making your Own Modules
7.3. Importing Modules
7.3.1. Public vs private vs static imports
7.3.2. Namespace and Conflicts
8. Advanced Object Orientation
8.x. Class Inheritance, Interfaces, Operator Overloading, Friendly
Classes per-module
8.x. --- TO BE COMPLETED ---
x. Exceptions (? top level?)
x.x. --- TO BE COMPLETED ---
x. Templates and Generic Programming
x.x. Basic Templates, Mixins?
x.x. --- TO BE COMPLETED ---
TO BE CONTINUED
In no particular order:
Exceptions
Mixins
Function Pointers and Delegates
Lazy Evaluation
Enumerations
Structs (maybe in chapter 8?)
Properties
Pragmas
Unions
Garbage Collection
Conditional Compilation (version, debug, etc)
Contracts
- Gregor Richards
↑ ↓ ← → Derek Parnell <derek psyc.ward> writes:
On Tue, 05 Sep 2006 15:17:05 -0700, Gregor Richards wrote:
Derek Parnell wrote:
On Mon, 04 Sep 2006 02:31:12 -0400, Agent Orange wrote:
We should write a book about D, or even a D for C++ programmers book. It
would probably only be a handfull of chapters, and one or a couple
people could do each chapter. maybe even do it on a wiki or something. I
dont know how the styles would mesh but I just thought this would be
pretty cool to have.
May I refer you to http://en.wikibooks.org/wiki/D_Programming
That book is not arranged like a book. Nobody could actually learn D
from it, even if it was fleshed out. It needs to be scrapped.
Sorry for my far-too-obtuse reference. ;-)
What I was trying to get across was that there already exists a wiki
platform for writing online books. As an example, there is the beginnings
of a D Reference manual. If one wanted to, one could also use the same
platform to write a "How To Program using D" style of book.
As a start, why not write your proposed TOC as the opening page in such a
new endeavor. I know I would like to contribute to it.
--
Derek Parnell
Melbourne, Australia
"Down with mediocrity!"
↑ ↓ ← → Gregor Richards <Richards codu.org> writes:
Derek Parnell wrote:
On Tue, 05 Sep 2006 15:17:05 -0700, Gregor Richards wrote:
Derek Parnell wrote:
On Mon, 04 Sep 2006 02:31:12 -0400, Agent Orange wrote:
We should write a book about D, or even a D for C++ programmers book. It
would probably only be a handfull of chapters, and one or a couple
people could do each chapter. maybe even do it on a wiki or something. I
dont know how the styles would mesh but I just thought this would be
pretty cool to have.
from it, even if it was fleshed out. It needs to be scrapped.
Sorry for my far-too-obtuse reference. ;-)
What I was trying to get across was that there already exists a wiki
platform for writing online books. As an example, there is the beginnings
of a D Reference manual. If one wanted to, one could also use the same
platform to write a "How To Program using D" style of book.
As a start, why not write your proposed TOC as the opening page in such a
new endeavor. I know I would like to contribute to it.
The main problem I have with wikibook is that, without somebody as the
official, ordained editor, often people feel that they shouldn't make
large rearrangements, when often it's the best solution. So, it can
become fairly stagnant after the original editor either becomes
disinterested or simply "finishes" it in his mind.
- Gregor Richards
PS: I'll start one this evening.
↑ ↓ ← → Lutger <lutger.blijdestijn gmail.com> writes:
Great, what target audience do you have in mind? From the looks of the
TOC it seems beginner. Maybe that is a suggestion, to keep in mind? Then
perhaps the book should also adress or refer to programming and
computer topics more general. Another option is to split it in parts or
some other way of organization according to background of readers.
Lack of books and tutorials is one of the arguments people have to not
try D. It's partly true I guess, especially for beginners / novices.
Even with one reasonable good wikibook I think D will beat C++ as a
first language - and a lot of people start with C++.
Gregor Richards wrote:
Derek Parnell wrote:
On Tue, 05 Sep 2006 15:17:05 -0700, Gregor Richards wrote:
Derek Parnell wrote:
On Mon, 04 Sep 2006 02:31:12 -0400, Agent Orange wrote:
We should write a book about D, or even a D for C++ programmers
book. It would probably only be a handfull of chapters, and one or
a couple people could do each chapter. maybe even do it on a wiki
or something. I dont know how the styles would mesh but I just
thought this would be pretty cool to have.
from it, even if it was fleshed out. It needs to be scrapped.
Sorry for my far-too-obtuse reference. ;-)
What I was trying to get across was that there already exists a wiki
platform for writing online books. As an example, there is the beginnings
of a D Reference manual. If one wanted to, one could also use the same
platform to write a "How To Program using D" style of book.
As a start, why not write your proposed TOC as the opening page in such a
new endeavor. I know I would like to contribute to it.
The main problem I have with wikibook is that, without somebody as the
official, ordained editor, often people feel that they shouldn't make
large rearrangements, when often it's the best solution. So, it can
become fairly stagnant after the original editor either becomes
disinterested or simply "finishes" it in his mind.
- Gregor Richards
PS: I'll start one this evening.
↑ ↓ ← → Gregor Richards <Richards codu.org> writes:
Gregor Richards wrote:
Derek Parnell wrote:
On Tue, 05 Sep 2006 15:17:05 -0700, Gregor Richards wrote:
Derek Parnell wrote:
On Mon, 04 Sep 2006 02:31:12 -0400, Agent Orange wrote:
We should write a book about D, or even a D for C++ programmers
book. It would probably only be a handfull of chapters, and one or
a couple people could do each chapter. maybe even do it on a wiki
or something. I dont know how the styles would mesh but I just
thought this would be pretty cool to have.
May I refer you to http://en.wikibooks.org/wiki/D_Programming
D from it, even if it was fleshed out. It needs to be scrapped.
Sorry for my far-too-obtuse reference. ;-)
What I was trying to get across was that there already exists a wiki
platform for writing online books. As an example, there is the
beginnings
of a D Reference manual. If one wanted to, one could also use the same
platform to write a "How To Program using D" style of book.
As a start, why not write your proposed TOC as the opening page in
such a
new endeavor. I know I would like to contribute to it.
The main problem I have with wikibook is that, without somebody as the
official, ordained editor, often people feel that they shouldn't make
large rearrangements, when often it's the best solution. So, it can
become fairly stagnant after the original editor either becomes
disinterested or simply "finishes" it in his mind.
- Gregor Richards
PS: I'll start one this evening.
Great, what target audience do you have in mind? From the looks of the
TOC it seems beginner. Maybe that is a suggestion, to keep in mind? Then
perhaps the book should also adress or refer to programming and
computer topics more general. Another option is to split it in parts or
some other way of organization according to background of readers.
Lack of books and tutorials is one of the arguments people have to not
try D. It's partly true I guess, especially for beginners / novices.
Even with one reasonable good wikibook I think D will beat C++ as a
first language - and a lot of people start with C++.
Which is sort of terrifying, since C++ is one of those languages that
hands you a rope and noose-tying instructions.
- Gregor Richards
↑ ↓ ← → Chad J <gamerChad _spamIsBad_gmail.com> writes:
Lutger wrote:
Lack of books and tutorials is one of the arguments people have to not
try D. It's partly true I guess, especially for beginners / novices.
Even with one reasonable good wikibook I think D will beat C++ as a
first language - and a lot of people start with C++.
C++ as a first language, ouch. I actually tried this. The examples in
the book I was using didn't work. I was too much of a newbie to
understand why. C++ wasn't very intuitive. The whole thing failed
miserably. I've heard of other people learning C++ as a first, but I
still find it hard to imagine normal human beings doing this without
being taught in a class or some sort of interactive environment.
Eventually I just learned programming through the scripting language in
the EasyUO program. It was useful, easy, and taught me some basic
programming.
I think D would make a pretty good starting language. I looked at that
TOC, maybe mention build at some point when doing modules (chap 7)? I'd
hate to have to invoke dmd on every .d file or (cringe) use makefiles.
↑ ↓ ← → ephemeros <ephemeros gmail.com> writes:
i agree with Chad J.
i'm a beginner too, i really need a book for beginners, as long as i
don't understand a lot of programming techniques, their usefulness, etc.
it should have examples for every aspect, everything explained from the
beginning. it is hard to learn from the community as long as most of
them are hardcore programmers, they cannot assume one doesn't know what
"virtual" means or what's so great deal about "templates".
i consider the examples most important (covering all the
possibilities), theory to explain them, too, also pluses and minuses of
techniques, their importance, how much they are used, etc. mabye it
would be a good idea to have a successful c++ or java book as model,
adding specific D features when they exist.
↑ ↓ ← → Gregor Richards <Richards codu.org> writes:
Agent Orange wrote:
We should write a book about D, or even a D for C++ programmers book. It
would probably only be a handfull of chapters, and one or a couple
people could do each chapter. maybe even do it on a wiki or something. I
dont know how the styles would mesh but I just thought this would be
pretty cool to have.
The TOC is fairly stable. Time for people to submit text.
http://en.wikibooks.org/wiki/A_Beginner%27s_Guide_to_D
- Gregor Richards
|
|