D Learning Resources
Ary Manzana
ary at esperanto.org.ar
Wed Nov 29 18:29:33 PST 2006
Morgan McDermott escribió:
> Repost from DSource <http://www.dsource.org/forums/viewtopic.php?p=12007>
>
> As a newbie to this great language, one of my biggest challenges in
> learning D is finding learning resources. I've gotten to the point now
> where I generally use digitalmars.com/d/ as a starting point for any
> questions, and the NewsGroup has been a great help, but starting out
> with D seems much harder than it is with other languages due to the
> scarcity of tutorials (alongside the absence of books ^_~).
>
> Without a C-like programming background, I'm sure that learning D would
> have been even harder, as most of the ''basics'' are described in terms
> of how they are implemented in D, obviously targeting a more experienced
> crowd. Besides the absence of learning-materials themselves, the other
> challenge that comes up is having a good starting point for finding
> other resources. Things are too spread out - it would be very hard for
> someone new to programming to quickly develop a good understanding of D
> from just one D-website. Here at DSource there is a large (in comparison
> with other sites) number of tutorials, but few feel very complete, and
> the target audience seems to change from tutorial to tutorial.
>
> I would like to suggest that a project be undertaken by D-programmers to
> create a centralized tutorial and example resource. A good way to
> segment this out might be:
>
> #####-----------------------------------------------#######
>
> Basics: (covers basic types, operators, flow control, functions, arrays
> etc)
> -Basic D for the programming novice
> -From (your programming language here) to D.
>
> Intermediate: (Mix of intermediate general-programming and D-specific
> topics)
> -Intermediate Programming from a D perspective
> -What's different in D and why (modules, scope etc)
> -Good-Coding practices
>
> Intermediate How-To for common tasks
> -Database Interaction
> -Compile a D Project
> -Filesystem interaction
>
> Advanced: (Smaller section, geared towards harnessing the "true" power
> of D)
> -Advanced D Features
> -Tips & Tricks
> -Security
>
> Links: (Other D-Programming References)
> -NewsGroup
> -Digitalmars
>
> #####-----------------------------------------------#######
>
> What's best about this project is that not only writers could contribute
> - that is, there are enough D-tutorials out there written by authors who
> would probably let you Borg-assimilate their tutorials into this
> reference that we already have a pretty good starting point.
>
> I think that the best tutorials would function as a series up to a point
> - that is, readers are led through learning D in a coherent series of
> steps. Learning Intermediate Programming tutorials should expect
> knowledge covered in Basics, and the How-To section of tutorials should
> expect only the knowledge covered in the Learning Intermediate
> Programming tutorials.
>
> With this in mind, I don't suggest working from the "Basics" upwards
> towards "Advanced" linearly; there are many people who would only like
> to write about certain aspects of D. However, letting people run around
> and write tutorials with no knowledge of the tutorials that lead up to
> theirs would result in a resource that lacks good cohesion, flow, and
> certainly would suffer from the absence of a tangible learning-path.
>
> A solution to this would be to simply create an outline of what you want
> readers to know at which point. For instance, you might decide that once
> a reader reaches the "Intermediate Tutorials", you want them to know x,
> y, and z. Once a tutorial-writer figures out where his tutorial fits
> into the grand scheme, he would then be able to know exactly what the
> reader should already know, and target that audience specifically.
>
> As a plan of action, I propose two distinct steps:
> 1) Have the D community produce an outline (like my ad-hoc one above),
> sectioned into distinct 'steps' of learning. Broad how-to areas might
> want to be separated into the knowledge required to use that how-to
> properly.
> 2) Get tutorials and articles flowing! Gather up willing writers from
> the D-community and start making the tutorials needed. Assimilate the
> spread out D-tutorials on the web (only for those authors who permit it,
> of course). This step is an ongoing process - as people write tutorials,
> they can add them into the structure where they fit, and eventually a
> fully fleshed-out, coherent, and easy to use D learning resource will
> result.
Great idea!
In almost every programming language page there is a tutorial with a
fantastic table of contents. Take for example Python. I know nothing
about Pyhton, but I guess I'll be able to learn it reading this:
http://docs.python.org/tut/tut.html
Maybe we can make that kind of tutorial using a (maybe private) Wiki,
until everything is done, and then lock the contents.
More information about the Digitalmars-d
mailing list