Thread overview
Dlings first release
Jan 23, 2023
João Lourenço
Jan 23, 2023
Sergey
Jan 23, 2023
João Lourenço
Jan 23, 2023
Andrew
Jan 24, 2023
João Lourenço
Feb 14, 2023
João Lourenço
Feb 14, 2023
João Lourenço
Feb 15, 2023
RazvanN
January 23, 2023

I started working on this project a while ago. It all began with a discussion between me and a coworker. From time to time I announce D at work. I also tried to push some of my coworkers to try it, but haven't had much success, perhaps I'm just a terrible salesman. One of them seems to understand the appeal of the language, however, doesn't have a reason to start messing with it. So, in one of my recent discussions with him I asked "If D had a similar project to Rustlings [1] would you give it a try?", and the answer was yes because although he is curious about the language, he thinks he needs a reason to start messing around with it. Randomly messing around is not his thing, and using it in a project could feel counter-productive because of the time spent learning the language instead of actively working on it. A project similar to Rustlings would, on the other hand, be quick enough to get going. Just start solving simple exercises to get a feel of the language and what the features are. He could stop at any time and come back whenever he feels like to keep progressing without feeling forced to do it.

So, I started working on Dlings [2]. My approach was to have it as close as possible to Rustlings. They created a working recipe, why not just follow it? So, right now, this is a clone of Rustlings. There are a bunch of things that need to be polished, but I felt it was good enough to release it and start adding exercises.

This is where I would like the community to come in. There are a lot of experienced people in the D community, more knowledgeable than I, more creative, and with experience in education. I would like, if anyone is interested, to ask you to give your opinions of how the exercises should be structured, the topics to teach, how could they look, etc. Contributors in general would be great! There is another project - dingbats [3] - from monkeyyy, that has some topics and ideas laid out if you want to check it out.

[1] https://github.com/rust-lang/rustlings
[2] https://github.com/iK4tsu/dlings
[3] https://github.com/crazymonkyyy/dingbats

January 23, 2023

On Monday, 23 January 2023 at 10:21:04 UTC, João Lourenço wrote:

>

[1] https://github.com/rust-lang/rustlings
[2] https://github.com/iK4tsu/dlings
[3] https://github.com/crazymonkyyy/dingbats

Thank you!
Also worth to mentioned https://github.com/ratfactor/ziglings
Maybe some ideas and examples we could catch from this repo too.

January 23, 2023

On Monday, 23 January 2023 at 10:21:04 UTC, João Lourenço wrote:

>

[...]

Topics from dingbats are here: https://raw.githubusercontent.com/crazymonkyyy/dingbats/master/.dev/curriculum.md

January 23, 2023

On Monday, 23 January 2023 at 10:21:04 UTC, João Lourenço wrote:

>

I started working on this project a while ago. It all began with a discussion between me and a coworker. From time to time I announce D at work. I also tried to push some of my coworkers to try it, but haven't had much success, perhaps I'm just a terrible salesman. One of them seems to understand the appeal of the language, however, doesn't have a reason to start messing with it. So, in one of my recent discussions with him I asked "If D had a similar project to Rustlings [1] would you give it a try?", and the answer was yes because although he is curious about the language, he thinks he needs a reason to start messing around with it. Randomly messing around is not his thing, and using it in a project could feel counter-productive because of the time spent learning the language instead of actively working on it. A project similar to Rustlings would, on the other hand, be quick enough to get going. Just start solving simple exercises to get a feel of the language and what the features are. He could stop at any time and come back whenever he feels like to keep progressing without feeling forced to do it.

So, I started working on Dlings [2]. My approach was to have it as close as possible to Rustlings. They created a working recipe, why not just follow it? So, right now, this is a clone of Rustlings. There are a bunch of things that need to be polished, but I felt it was good enough to release it and start adding exercises.

This is where I would like the community to come in. There are a lot of experienced people in the D community, more knowledgeable than I, more creative, and with experience in education. I would like, if anyone is interested, to ask you to give your opinions of how the exercises should be structured, the topics to teach, how could they look, etc. Contributors in general would be great! There is another project - dingbats [3] - from monkeyyy, that has some topics and ideas laid out if you want to check it out.

[1] https://github.com/rust-lang/rustlings
[2] https://github.com/iK4tsu/dlings
[3] https://github.com/crazymonkyyy/dingbats

This looks like a good start, and I'm excited that the community as a whole is finally starting to orient itself towards beginners, since that's where most of the hype comes from, initially.

I'll see if I can help with formatting and documenting the existing code, because I believe that even the utility code that makes up the program should be very friendly and explanatory.

Hopefully with enough effort, this project could be adopted by the dlang community and added to dlang.org.

January 24, 2023

On Monday, 23 January 2023 at 13:29:09 UTC, Andrew wrote:

>

On Monday, 23 January 2023 at 10:21:04 UTC, João Lourenço wrote:

>

[...]

This looks like a good start, and I'm excited that the community as a whole is finally starting to orient itself towards beginners, since that's where most of the hype comes from, initially.

I'll see if I can help with formatting and documenting the existing code, because I believe that even the utility code that makes up the program should be very friendly and explanatory.

Hopefully with enough effort, this project could be adopted by the dlang community and added to dlang.org.

Thank you! I tried to document everything and follow the D style.

February 14, 2023
On 1/23/23 10:21, João Lourenço via Digitalmars-d-announce wrote:
> [...]

A couple of updates since the initial post:
* the first batch of exercises until a first quiz was added
* a new separator on the repository to provide any kind of feedback -
roadmap and vision document available here
* exercise metadata was moved to a TOML file since it was not ideal to
always recompile the project each time that information was modified
* meson is now supported
* colors and emojis are now handled better - colored output is compliant
with the argparse lib


February 14, 2023

On Monday, 23 January 2023 at 10:21:04 UTC, João Lourenço wrote:

>

[...]

A couple of updates since the initial post:

  • the first batch of exercises until a first quiz was added
  • a new separator on the repository to provide any kind of feedback - roadmap and vision document available here
  • exercise metadata was moved to a TOML file since it was not ideal to always recompile the project each time that information was modified
  • meson is now supported
  • colors and emojis are now handled better - colored output is compliant with the argparse lib
February 15, 2023

On Monday, 23 January 2023 at 10:21:04 UTC, João Lourenço wrote:

>

[1] https://github.com/rust-lang/rustlings
[2] https://github.com/iK4tsu/dlings
[3] https://github.com/crazymonkyyy/dingbats

Maybe you can find some inspiration from our D summer school exercices[1][2]. Many of them are inspired by Ali's book.

[1] https://github.com/Dlang-UPB/D-Summer-School
[2] https://dlang-upb.github.io/D-Summer-School/