On Tuesday, 18 October 2016 at 09:26:56 UTC, Chris wrote:
I think the point of the examples is to show D at its most
expressive/concise. The thing is that if you presented "Hello,
world!" a lot of people who come from other languages would
complain about how D doesn't seem to have chaining, mapping,
templates etc. and that the examples are too easy, blah blah.
We've had loads of discussions about this.
Also, it's good to show people how D code should look like
right from the start. Whenever I (have to) learn a new
language, I look immediately at the best practices trying to
avoid awkward code.
The issue is, that in order to understand the example, you are
already required to have a knowledge of the language.
I can only use myself as a example. Only started to really use D
a few days ago because i have a specific project. I instantly
look for the methods that interest me, totally bypassing half the
manual. The ! looked like a operator and not a template.
To show you how much a nice example flow matters: a month or 3
ago ( because of this future project ) i started to look at
several languages: Go, Nim, Haxe, etc...
Notice something missing? Yes... i knew about D but totally
skipped it for two reasons. Its the same reasons as to why Rust
got skipped. I did not like the syntax example's. And in case of
D, the whole community issue with D1 vs D2 in several reddit
topics that still gets propagated.
* Started with Go. Hated it.
* Tried Nim. Not bad but lacking in community, only one real core
* Crystal. Not bad again but too much Ruby style focused. Still
very young project.
* Haxe. Lots of options for multi platform ( GUI/Gaming/etc ) but
very bad support for what i needed specifically ( not without
going with Cppia or neko = massive performance hit compared to
pure C/C++ ).
* D ... Frankly, D for me was: "why the hell not give it a try, i
am running out of languages".
And withing 10 minutes i found the solution for what i needed.
And been playing around with that. And spend hours playing all
the DCon2016 youtube video's ( so much material to see ) etc...
The example on the front page, simple scared me away at first,
because its so much "Perl all over again". One liner hell, with
The moment you start working with D, its more: Hey, this is
actually C/C++ style but with enhancements. But the example on
the front page ( and several more on the net, focus on more
advanced solutions and looked too much specialized ).
I can not stress this enough but as a new user that has been
shopping around, D really scared me away at first because of the
two mentioned points.
Maybe its just me OCD as a web developer but if you can not
convince me in a few seconds after opening your website, i simply
look at other websites first. Think of developers as consumers.
If you can not convince them to stay and look deeper within
seconds, you lose out on "converts".
-> Withing a few slides you go from simple to more advanced
examples. But you already get a good feel about the language.
-> Ooo, nice ... only a few lines to get a http server started.
-> Again ... a simple example that shows the language. Not the
That is also the reason why i mentioned: Start with a simple (
does not need to be "Hello world" ) example but allow more
examples to show the real power. But do not start with more power
examples with one-liners and templates ( what nobody knows ) as
the first impression because people make up there mind within
Its the only real big criticism on the whole D website. For the
rest its actually very good. The Learn is good but please remove
the EYE button on the right side next to "run", it changes the
layout / removes the code, its confusing. Simple is better.