On Sunday, 5 May 2013 at 19:37:02 UTC, Tyro[17] wrote:
The main contributors of D are doing a wonderful job of
enhancing the
language. I can confidently say that we are leagues ahead of
where we
stood a just two years ago. But there has been a long cry for
documentation that has gone unanswered: not because they refuse
to
cooperate but rather, because they are a small volunteer force,
occupied
by real demands to address the quirks of the language, and lack
the time
to all issues by themselves.
Don't we all :(
It stands then that the community can make a conscious effort
to address
some of the outstanding issues. As such, I have chosen to
champion the
tutorial/documentation effort. Though, I possess very little
programming
experience but am willing to try and am hereby soliciting your
assistance in making this a reality.
Good luck!
dtutor.org is an active domain dedicated to providing tutorials
for the
language. I will require content contributors but before we can
begin to
provide content there are a couple of issues to address:
I. Features to be supported
Interactive Tutorials - Users must be able to modify and
execute
examples in place to observe side effects.
You have DPaste to work with here (http://dpaste.dzfl.pl/), IIRC
it is connected to sample code at dlang.org.
Interactive Books - A number of free books exist around the
internet
that can be ported to D. The first two that come to mind are
How to
"Think Like a Computer Scientist", "Problem Solving with
Algorithms and
Data Structures Using Python" and Ali Çehreli's very own
"Programming in D".
Videos are useful as well.
Problems - Staged ICPC problems for users to attempt.
Solutions may
be submitted online for comparison against previously submitted
solutions to determine efficiency ranking and users may choose
to create
and account to keep track of progress.
Online Judge - to be used to determine accuracy and
efficiency of
submitted solutions to problems and planned programming
contests.
I've had good experiences learning via stuff like that.
Forum - Unlocked to individual users per problem after
solution
accepted by Online Judge.
Rejected Software (creators of vibe) has vibenews, which I
believe is quite customizable.
II. Look and Feel
Look and feel of the site will be largely influenced by two
things: The
DConf website and this little gem which provides encouragement
for the
ideas behind interactive tutorials/books:
Runestone (https://github.com/bnmnetp/runestone);
I came across it while searching for ideas on how to get
started with
dtutor.org and must admit: it is a fascinating little project.
It is!
I have to vouch for cplusplus.com, which isn't interactive, but I
was able to teach myself C++ with only that and "C++ for
Dummies," so it worked for one guy.
I am wondering if there are any Python experts (or experts in
general)
out there willing to assist in porting it to D? It comes with
built in
support for Python and C/C++ among other languages. However,
because
dtutor.org aims to promote all things D, it would aid greatly
to have a
D implementation which removes all external dependencies and
support
vice implementing D support for the original project. By doing
this we
can showcase the strengths of DMDScript, vibe and other
technology
already available in D.
Logo: My idea for the logo is simply this (see attachment):
D!(tutor).org
If your target audience is people who know little about D, this
would just look odd.
As Andrei would say: destroy!
III. Constraints
DMDScript for web scripting
Vibe for hosting (diet templates)
MangoDB for database
IV. Timeline
The hope is for complete functionality by DConf 2014.
Shooting for Initial Launch by September.
Calling all website designers, database developers, authors and
D
enthusiast. Lend a hand in eliminating this problem.
Like everyone, my time is limited, but I can help a bit. Sign me
up!
Andrew
NMS