On Monday, 25 January 2016 at 18:17:09 UTC, André wrote:
Hi,
Inspired by the Go online language tour
(https://tour.golang.org/) and the great experience it gave me
learning the language I started a similar project for D some
weeks ago. It's currently in a very pre-alpha state but I
wanted to announce it in case someone had something similar in
mind and is willing to contribute. The basic idea behind this
tour is to introduce features of the language with short
explanations and example code that is compiled and run online.
The code is located here:
https://github.com/stonemaster/dlang-tour
I've setup a server which always runs the latest version:
http://dlang-tour.steinsoft.net
This tour doesn't allow compiling online because the current
implementation would just make it too easy to hijack the server
:-) Compiling and running online can be activated when
compiling locally though. My goal would be to integrate the
tour with DPaste in the long run.
Working on this tour unfortunately stalled a little bit in this
year but I am trying to work on the project constantly in the
upcoming weeks. There is still a lot of content missing and,
more importantly, good D source examples. But I have a rough
guideline on which D topics I'd like to add content for.
Any kind of feedback is highly appreciated, of course.
Regards,
André
Very nice work and very much needed!
Found some errors:
- http://dlang-tour.steinsoft.net/tour/basics/2
* "long, ulong (32 bit)" <= should be "64 bit"
* "real (depending on platform, 80 bit on Intel x64)" <= 80-bit
on Intel x86 32-bit, not sure about Intel x86_64 and I think it
depends.
* "A conversion between variables of different types is only
allowed by the compiler if no precision is lost." => except FP
types. eg: double => float.
I think you have some room to introduce __gshared, I've seen one
case on IRC with someone not knowing about it and wondering why
threads read a different value.
You already say that "slices" and "dynamic arrays" are the same
thing, but I think this need to be put in bold. For the longest
time I had difficulty to envision the difference between the two
concepts, but there seems to be none. It happens some D material
present them separately.