www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Pre-alpha D language online tour

reply =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
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é
Jan 25 2016
next sibling parent reply JohnCK <j j.com> writes:
On Monday, 25 January 2016 at 18:17:09 UTC, André wrote:
 ...
 http://dlang-tour.steinsoft.net
 ...
 Any kind of feedback is highly appreciated, of course.
This is very neat and I think this is a thing this will be very good for newcomers. PS: On the index page "after page 1" there is a huge white space on the left side: http://i.imgur.com/ypCTdbo.png JohnCK.
Jan 25 2016
parent =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Monday, 25 January 2016 at 18:31:57 UTC, JohnCK wrote:
 On Monday, 25 January 2016 at 18:17:09 UTC, André wrote:
 ...
 http://dlang-tour.steinsoft.net
 ...
 Any kind of feedback is highly appreciated, of course.
This is very neat and I think this is a thing this will be very good for newcomers. PS: On the index page "after page 1" there is a huge white space on the left side: http://i.imgur.com/ypCTdbo.png JohnCK.
Thanks very much! Actually this huge white space is by design :-) On every section that doesn't include a code example the space that the source editor would use is just left blank. That way the content always stays at the same position. And it looked awkward when the content just streched to the whole screen on big displays.. That is the same behaviour the Go tour has if no source is shown and I didn't come up with a better solution so far. Cheers, André
Jan 25 2016
prev sibling next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/25/16 1:17 PM, 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
Whoa, what a sight for sore eyes. I very much encourage development by you and the entire community. We need to make this easily accessible from dlang.org. Please let me know how we can help. Thank you! -- Andrei
Jan 25 2016
parent =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Monday, 25 January 2016 at 19:51:44 UTC, Andrei Alexandrescu 
wrote:
 On 1/25/16 1:17 PM, André wrote:
 Hi,

 [...]

 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
Whoa, what a sight for sore eyes. I very much encourage development by you and the entire community. We need to make this easily accessible from dlang.org. Please let me know how we can help. Thank you! -- Andrei
Thank you for the motivating words! I'll keep you posted on progress and you'll hear from me when I need help :-) Regards, André
Jan 25 2016
prev sibling next sibling parent reply rsw0x <anonymous anonymous.com> writes:
On Monday, 25 January 2016 at 18:17:09 UTC, André wrote:
 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.
I wonder how much bandwidth it would use to host a sandboxed server with dmd on it. Are any of the dpaste guys around that could give an estimate?
Jan 25 2016
parent reply =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Monday, 25 January 2016 at 20:02:10 UTC, rsw0x wrote:
 On Monday, 25 January 2016 at 18:17:09 UTC, André wrote:
 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.
I wonder how much bandwidth it would use to host a sandboxed server with dmd on it. Are any of the dpaste guys around that could give an estimate?
If DPaste isn't an option I thought about implementing sandbox compiling within Docker containers. A Docker container running rdmd to compile online code is quite easily put together. The advantage with Docker is that it starts quickly and can be limited in terms of memory and CPU. And it is a pretty safe sandbox (so far). The current code actually implements caching already so that not every unchanged code example has to be compiled online. The dlang-tour currently runs in a Docker container itself because it makes deployment later on very easy. So together with some sandboxing mechanism for compiling it should be able to scale quite well depending on future usage. The question is just whether it's better to use the existing DPaste infrastructure or to implement something especially for the tour?
Jan 25 2016
parent reply rsw0x <anonymous anonymous.com> writes:
On Monday, 25 January 2016 at 21:12:14 UTC, André wrote:
 [...]
might be worth noting that Rust uses playpen for sandboxing their online compiler https://github.com/thestinger/playpen
Jan 25 2016
parent =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Monday, 25 January 2016 at 21:18:45 UTC, rsw0x wrote:
 On Monday, 25 January 2016 at 21:12:14 UTC, André wrote:
 [...]
might be worth noting that Rust uses playpen for sandboxing their online compiler https://github.com/thestinger/playpen
Thank you for the link and the information! Unfortunately playpen doesn't work inside a Docker container because it basically uses the same technologies and has dependencies just available on systemd based base systems. I know decided to go the Docker way. I just pushed a change which lets the source be compiled and run within a Docker container that contains RDMD. This is working quite well so far and should be a quite safe sandbox. The started Docker containers are restricted in memory usage and could be restricted in terms of CPU usage. And this is online as of now. So the source code editor is now ready for compiling D online in the tour :-) Cheers, André
Jan 30 2016
prev sibling next sibling parent reply Craig Dillabaugh <craig.dillabaugh gmail.com> writes:
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.

 [...]
Looks promising. You should rename it D-tours so that you can take advantage of D's underused, but excellent, pun making potential :o) Then you need to include some graphics: http://www.roadtrafficsigns.com/detour-signs
Jan 25 2016
parent =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Monday, 25 January 2016 at 21:16:51 UTC, Craig Dillabaugh 
wrote:
 [...]
Looks promising. You should rename it D-tours so that you can take advantage of D's underused, but excellent, pun making potential :o) Then you need to include some graphics: http://www.roadtrafficsigns.com/detour-signs
:-) That actually was my first working title! But I feared that the name could have a bad influence on the content so I decided for the straight forward version.
Jan 26 2016
prev sibling next sibling parent reply Craig Dillabaugh <craig.dillabaugh gmail.com> writes:
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é
I should do this myself, but since I can't access my Github account ATM and will likely forget. The page: http://dlang-tour.steinsoft.net/tour/basics/1 The line: "An import statement mustn't appear at the top ... " Should read: "An import statement need not appear at the top ... "
Jan 25 2016
parent =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Monday, 25 January 2016 at 21:42:04 UTC, Craig Dillabaugh 
wrote:
 I should do this myself, but since I can't access my Github 
 account ATM and will likely forget.  The page:

 http://dlang-tour.steinsoft.net/tour/basics/1

 The line:

 "An import statement mustn't appear at the top ... "

 Should read:

 "An import statement need not appear at the top ... "
Oh stupid Denglish mistake. Thanks a lot for proof reading! Fixed and black magic will make sure this is going to be rolled out very soon.
Jan 26 2016
prev sibling next sibling parent reply Guillaume Piolat <name.lastname gmail.com> writes:
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.
Jan 25 2016
parent reply =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Monday, 25 January 2016 at 21:53:26 UTC, Guillaume Piolat 
wrote:
 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.
Thank you very much for going through the content! I integrated your comments and they will be online very soon. I added a paragraph for __gshared in the storage classes section and I added a sentence to emphasize that slices and dynamic arrays are the same. I am not sure about the latter so I might revise it after sleeping some days on it :-) Thanks again! - André
Jan 26 2016
next sibling parent Zalastax <kpierre+dlang outlook.com> writes:
Looks great! For Windows dmd can also be installed using  
https://chocolatey.org/packages/dmd
Jan 26 2016
prev sibling parent reply Mengu <mengukagan gmail.com> writes:
On Tuesday, 26 January 2016 at 10:30:17 UTC, André wrote:
 On Monday, 25 January 2016 at 21:53:26 UTC, Guillaume Piolat 
 wrote:
 [...]
Thank you very much for going through the content! I integrated your comments and they will be online very soon. I added a paragraph for __gshared in the storage classes section and I added a sentence to emphasize that slices and dynamic arrays are the same. I am not sure about the latter so I might revise it after sleeping some days on it :-) Thanks again! - André
let's put it on github and let everyone contribute and make things easier for you. :)
Jan 26 2016
parent reply CraigDillabaugh <craig.dillabaugh gmail.com> writes:
On Tuesday, 26 January 2016 at 13:48:57 UTC, Mengu wrote:
 On Tuesday, 26 January 2016 at 10:30:17 UTC, André wrote:
 On Monday, 25 January 2016 at 21:53:26 UTC, Guillaume Piolat 
 wrote:
 [...]
Thank you very much for going through the content! I integrated your comments and they will be online very soon. I added a paragraph for __gshared in the storage classes section and I added a sentence to emphasize that slices and dynamic arrays are the same. I am not sure about the latter so I might revise it after sleeping some days on it :-) Thanks again! - André
let's put it on github and let everyone contribute and make things easier for you. :)
Jan 26 2016
parent reply =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Tuesday, 26 January 2016 at 14:25:33 UTC, CraigDillabaugh 
wrote:
 let's put it on github and let everyone contribute and make 
 things easier for you. :)
On a related note: because it's on GitHub it's even possible to contribute content and examples just through the web interface. A quick guide on how the content is structured (all written is standard markdown) can be found here: https://github.com/stonemaster/dlang-tour/tree/master/public/content. The tour's content files found in that folder can just be edited using the GitHub web interface which will then automagically create a pull request for you without the need to locally pull the repository. And the preview mode of GitHub makes sure the layout isn't broken that much :-) It has never been easier to contribute! FYI, I've now added content + examples for the templates and interface sections. Thanks, André
Jan 26 2016
parent Mengu <mengukagan gmail.com> writes:
On Tuesday, 26 January 2016 at 18:45:55 UTC, André wrote:
 On Tuesday, 26 January 2016 at 14:25:33 UTC, CraigDillabaugh 
 wrote:
 let's put it on github and let everyone contribute and make 
 things easier for you. :)
On a related note: because it's on GitHub it's even possible to contribute content and examples just through the web interface. A quick guide on how the content is structured (all written is standard markdown) can be found here: https://github.com/stonemaster/dlang-tour/tree/master/public/content. The tour's content files found in that folder can just be edited using the GitHub web interface which will then automagically create a pull request for you without the need to locally pull the repository. And the preview mode of GitHub makes sure the layout isn't broken that much :-) It has never been easier to contribute! FYI, I've now added content + examples for the templates and interface sections. Thanks, André
sorry, i must have missed the github link on the first post. forked it. here comes the turkish translation for the tour. it will follow the english content. let's get this on people.
Jan 28 2016
prev sibling next sibling parent jmh530 <john.michael.hall gmail.com> writes:
On Monday, 25 January 2016 at 18:17:09 UTC, André wrote:
 Any kind of feedback is highly appreciated, of course.
I didn't go through it line by line, but my general impression is that it looks really good. Congrats.
Jan 25 2016
prev sibling next sibling parent reply Nicholas Wilson <iamthewilsonator hotmail.com> writes:
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é
Another typo: In Basic's page two (Basic types) it says The prefix u denotes unsigned types. char translates to UTF-8 characters, dchar is used in UTF-16 strings and dchar in UTF-32 strings. Should be The prefix u denotes unsigned types. char translates to UTF-8 characters, _W_char is used in UTF-16 strings and dchar in UTF-32 strings.
Jan 28 2016
parent reply Nicholas Wilson <iamthewilsonator hotmail.com> writes:
On Thursday, 28 January 2016 at 09:36:00 UTC, Nicholas Wilson 
wrote:
 On Monday, 25 January 2016 at 18:17:09 UTC, André wrote:
 [...]
Another typo: In Basic's page two (Basic types) it says The prefix u denotes unsigned types. char translates to UTF-8 characters, dchar is used in UTF-16 strings and dchar in UTF-32 strings. Should be The prefix u denotes unsigned types. char translates to UTF-8 characters, _W_char is used in UTF-16 strings and dchar in UTF-32 strings.
Also in Basics 10 the comments for the string types are the wrong way round alias dstring = immutable(dchar)[]; // UTF-16 alias wstring = immutable(wchar)[]; // UTF-32
Jan 28 2016
parent =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Thursday, 28 January 2016 at 09:53:12 UTC, Nicholas Wilson 
wrote:
 Another typo: In Basic's page two (Basic types) it says
     The prefix u denotes unsigned types. char translates to 
 UTF-8 characters, dchar is       used in UTF-16 strings and 
 dchar in UTF-32 strings.
 Should be
     The prefix u denotes unsigned types. char translates to 
 UTF-8 characters, _W_char is used in UTF-16 strings and dchar 
 in UTF-32 strings.
Also in Basics 10 the comments for the string types are the wrong way round alias dstring = immutable(dchar)[]; // UTF-16 alias wstring = immutable(wchar)[]; // UTF-32
Nicholas, thank you very much for proof reading! Has been fixed.
Jan 28 2016
prev sibling next sibling parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 01/25/2016 10:17 AM, André wrote:

 http://dlang-tour.steinsoft.net
I love it! :)
 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.
This thread is an indication of what a great idea it's been. ;) Ali
Jan 28 2016
parent =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Thursday, 28 January 2016 at 10:09:40 UTC, Ali Çehreli wrote:
 On 01/25/2016 10:17 AM, André wrote:

 http://dlang-tour.steinsoft.net
I love it! :)
 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.
This thread is an indication of what a great idea it's been. ;) Ali
Thank you very much. Another motivation to keep going on :-) André
Jan 28 2016
prev sibling parent reply =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
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.
Here are great news on the dlang-tour project: As of now I've written all content and the latest build is running on http://dlang-tour.steinsoft.net Somewhere ago I've implemented running code samples online (which are run in a Docker container on the server) so the tour is fully functional. There are still some polishing work to be left and some issues to be fixed before this should go public: https://github.com/stonemaster/dlang-tour/issues I would appreciate if people could do some proof reading and just create pull requests for the content: https://github.com/stonemaster/dlang-tour/tree/master/public/content/en. Or just drop me a message where you find a bug and I'll have it fixed. Thanks, André
Mar 29 2016
next sibling parent reply jmh530 <john.michael.hall gmail.com> writes:
On Tuesday, 29 March 2016 at 16:26:27 UTC, André wrote:
 Or just drop me a message where you find a bug and I'll have it 
 fixed.
Looks good. A few suggestions, some content, some typo. D Basics (fix capitalization?): Page 3, code example at the bottom right does not compile with system. Also, D allows pointer arithmetic in trusted code, so the text above it is not completely accurate. I would change the line
 D also allows pointer arithmetic. This is not allowed in code 
 which is marked as  safe but only in  system code.
to D allows pointer arithmetic, except in code that is marked as safe Page 4, This line on const is confusing
 To a const object can't be written, but someone holding a 
 mutable to the same object might just well.
I feel like the static keyword is complicated enough that it could get its own slide (or multiple). Why not just put the variable at the top level without static? Page 7, the discussion on delegates could be clearer. D Gems: Page 3, put the code examples on a separate line. Page 7, I would re-write the last line as The attribute pure is automatically inferred by the compiler for templated functions and auto functions, where applicable (this is also true of safe, nothrow, and nogc). Page 8, I was not aware of invariant. I feel like I have a struct somewhere that could use it! Page 10, might also mention safe. Page 13, conditionnally is spelled wrong. I feel like static if with templates could get a whole page by itself. Concurrency: Maybe re-name Multithreading? I wouldn't consider std.parallelism a way to implement concurrency. VibeD: Page 1: Define asynchronous I/O and why it matters. I see a short explanation near the end of Page 2, but I feel like it should be brought up to the front. Maybe make that big paragraph into a list of key vibe-d features and why they matter.
Mar 29 2016
parent reply =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
Thank you very much for your thorough review! I integrated your 
ideas and comments in the latest version. Some additional 
information on what I changed and questions left are below.

On Tuesday, 29 March 2016 at 17:10:33 UTC, jmh530 wrote:
 D Basics (fix capitalization?):
The current title is "D's basics". I'm unsure what to fix here..
 Page 3, [...]  I would change the line

 D also allows pointer arithmetic. This is not allowed in code 
 which is marked as  safe but only in  system code.
to D allows pointer arithmetic, except in code that is marked as safe
Done.
 Page 4, This line on const is confusing
 [...]
I tried to make this part more precise.
 I feel like the static keyword is complicated enough that it 
 could get its own slide (or multiple). Why not just put the 
 variable at the top level without static?
Very good idea. I created a new static section in the multi-threading chapter.
 Page 7, the discussion on delegates could be clearer.
Tried to make it more precise here, too. I also moved the section below classes because it actually is a more advanced topic and hasn't to be near 'Functions, part I'.
 D Gems:
 Page 3, put the code examples on a separate line.
Done. Much more readable that way.
 Page 7, I would re-write the last line as
[..]
Done
 Page 10, might also mention  safe.
Mentioning now safe, system and trusted.
 Page 13, conditionnally is spelled wrong.
Fixed.
 I feel like static if with templates could get a whole page by 
 itself.
Thought so too when initially writing the subsection.. I'll have another good night's sleep to decide whether I'll actually move it :-)
 Concurrency:
 Maybe re-name Multithreading? I wouldn't consider 
 std.parallelism a way to implement concurrency.
I changed the name. Better fits the topic.
 VibeD:
 Page 1: Define asynchronous I/O and why it matters. I see a 
 short explanation near the end of Page 2, but I feel like it 
 should be brought up to the front. Maybe make that big 
 paragraph into a list of key vibe-d features and why they 
 matter.
I followed your suggestion and rewrote the paragraph to include bullet points. Also I added a line on asynchronous I/O and a reference to the following page which explains in more detail.
Mar 30 2016
parent reply jmh530 <john.michael.hall gmail.com> writes:
On Wednesday, 30 March 2016 at 17:29:13 UTC, André wrote:
 On Tuesday, 29 March 2016 at 17:10:33 UTC, jmh530 wrote:
 D Basics (fix capitalization?):
The current title is "D's basics". I'm unsure what to fix here..
I meant that one is called D's basics and the other is called D's Gems. basics/Gems has a capitalization inconsistency. Again, want to reiterate that it looks really good. Great work.
Mar 30 2016
parent =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Wednesday, 30 March 2016 at 17:35:55 UTC, jmh530 wrote:
 On Wednesday, 30 March 2016 at 17:29:13 UTC, André wrote:
 On Tuesday, 29 March 2016 at 17:10:33 UTC, jmh530 wrote:
 D Basics (fix capitalization?):
The current title is "D's basics". I'm unsure what to fix here..
I meant that one is called D's basics and the other is called D's Gems. basics/Gems has a capitalization inconsistency. Again, want to reiterate that it looks really good. Great work.
Thank you very much! Now I understand :-) Fixed and will be updated very soon.
Mar 30 2016
prev sibling next sibling parent reply Bubbasaur <bubba gmail.com> writes:
On Tuesday, 29 March 2016 at 16:26:27 UTC, André wrote:
 ...
 I would appreciate if people could do some proof reading and 
 just create pull requests for the content:
Nice work but I really think that the left content should be expandable. Some button like Try it or whatever should do the trick. It's a waste space mainly when there is nothing on the left side. The same thing goes for the bottom content, I don't think it should be fixed. Finally the font-size is too big for me. Bubba.
Mar 29 2016
parent reply =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Tuesday, 29 March 2016 at 17:51:06 UTC, Bubbasaur wrote:
 On Tuesday, 29 March 2016 at 16:26:27 UTC, André wrote:
 ...
 I would appreciate if people could do some proof reading and 
 just create pull requests for the content:
Nice work but I really think that the left content should be expandable. Some button like Try it or whatever should do the trick. It's a waste space mainly when there is nothing on the left side. The same thing goes for the bottom content, I don't think it should be fixed. Finally the font-size is too big for me. Bubba.
Thank you for the good suggestions. I will create issues for those topics (2 are already there on GitHub).
Mar 30 2016
parent reply Mark Isaacson <turck11 hotmail.com> writes:
This is awesome! My one complaint is that the section of the 
screen that contains the code doesn't scale well vertically when 
my browser window is large. The written explanations scale to fit 
the content, the code editor does not. I'd just make it stretch 
vertically to fill the screen :). At that point you might also 
consider putting the Run/Reset buttons at the top.
Mar 30 2016
parent =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Wednesday, 30 March 2016 at 19:58:32 UTC, Mark Isaacson wrote:
 This is awesome! My one complaint is that the section of the 
 screen that contains the code doesn't scale well vertically 
 when my browser window is large. The written explanations scale 
 to fit the content, the code editor does not. I'd just make it 
 stretch vertically to fill the screen :). At that point you 
 might also consider putting the Run/Reset buttons at the top.
Yeah I am not satisfied either. I have some issues open at the GitHub page regarding the layout and polishing. I will have your suggestions in mind! Thanks. - André
Mar 31 2016
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2016-03-29 18:26, André wrote:

 Here are great news on the dlang-tour project: As of now I've written
 all content and the latest build is running on

 http://dlang-tour.steinsoft.net
The example at [1] doesn't compile. "f" is declared twice and there's no built in property "name". [1] http://dlang-tour.steinsoft.net/tour/basics/2 -- /Jacob Carlborg
Mar 30 2016
parent =?UTF-8?B?QW5kcsOp?= <Andre nospam.org> writes:
On Thursday, 31 March 2016 at 06:32:00 UTC, Jacob Carlborg wrote:
 On 2016-03-29 18:26, André wrote:
 http://dlang-tour.steinsoft.net
The example at [1] doesn't compile. "f" is declared twice and there's no built in property "name". [1] http://dlang-tour.steinsoft.net/tour/basics/2
Thank you for finding this one! Fixed and will be online sonn. - André
Mar 31 2016