On Tuesday, 11 February 2014 at 05:03:29 UTC, Mike Parker wrote:

You're greatly underestimating just how easy dub makes developing with D.

I have to say that dub is a great tool. I remember the times when I had to copy files to /usr/bin/ etc. and would still wonder why the compiler complained. I started using dub a few months ago (when I started a vibe.d project) and it helps me a lot. I moved the project to a new machine, just ran $ dub and it compiled and ran, out of the box.

Back to the original point, i.e. what's important for newbies (some of it has already been said):

1. ease of use:
    download, install, type away.
2. tutorials:
a. show how things work in D, the most common cases first (e.g. string handling, (assoc) arrays, saving to file, useful real world examples) b. show how things should be done correctly (there's nothing worse than having to figure out yourself and then refactor your code, because nobody told you how to do it correctly or in an optimized way). c. the newbie should be able to get going and be productive without an in depth understanding of the philosophy behind every language feature. That comes later, more or less automatically.
3. documentation:
More examples. The Cocoa API reference is very good in this respect. It shows trivial things like opening a file dialog. Trivial but it's good to have something you can just copy for starters, without having to figure out what else to import and all that kind of stuff that only holds you up.

I cannot say anything about IDE support, because I haven't used D+IDE yet. But some analyzing tools would be nice, e.g. "variable declaration is shadowing global variable", "unused import".

The most important thing for newbies, either new to the language or new to programming, is "instant gratification". If it compiles and works, people are more likely to be enthusiastic about it. Give them useful examples and use cases and they will begin to see how useful programming is and start thinking about applications, however trivial they may be, they can write themselves for their own personal use (a little clock, a calculator for VAT ...) In this way they will start to think as both developer and user, add features, go ever deeper into programming. Creating useful things, that's what it's all about, isn't it?


Reply via email to