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