Too focused on C++ programmers?

Etienne etcimon at globecsys.com
Mon Dec 2 05:12:34 PST 2013


On 2013-11-28 15:27, qznc wrote:
> I read an interesting article [0] with a weird title. It got me thinking
> about Ds marketing [1]. Are we too focused on the C++ programmers? Most
> of them are very unlikely to switch. In comparison, D should be much
> easier to sell to people, who are already considering
> Go/Scala/Clojure/Node.js/etc. I restructured [2] the tutorial to target
> them more specifically.
>
> [0] http://braythwayt.com/2013/11/27/herd-thither-me-hither.html#revised
> [1] https://news.ycombinator.com/item?id=6814922
> [2] http://qznc.github.io/d-tut/basics.html

I started reading seriously about D about 3 months ago so maybe I can 
comment a bit on this while my newcomer experience is fresh.

My background is PHP (turned away when searching for speed with 
benchmarks), I was reading about C++ since 6 months trying to develop a 
compiled application that has enough libraries to let me choose from. I 
ended up choosing Qt for my desktop app but I wanted type-genericity so 
I needed templates or tuples, and there was no way to make a templated 
QObject, I was a bit disappointed by that, and the lack of 
comprehensible errors in templated c++.

I found D multiple times when searching for C++ libraries, and when I 
decided to just "fuck it and read the unrelated stuff" got thrilled when 
I saw how well D has integrated tuples. It was a promising way to keep 
my old PHP ways while improving my abilities.

I think D seized me because it introduced the Ranges concept in a 
compiled language. Of course, I had to do some research about the 
libraries depending on what I needed, but as soon as I saw how easy D 
bindings to C libraries were it was obvious I'd find what I need. Also 
what helped were the tools like pegged, vibe.d, and knowing any 
application can just wrap around a C library and turn into something 
intuitive and fast thanks to the introspective capabilities of D.

So I would assume, from PHP to C++ to D, I wanted to see this within 20 
seconds in this order:
1) Tuples, Ranges & Templates (with intuitive error examples)
2) C Bindings easily extended with D introspective wrappers (for quick 
metaprogramming support)
3) Open Networking / DB libraries with static compilation
4) GTKd, because you have to admit there's no other stable way of making 
a GUI

Maybe an example of signals and slots with associative arrays or tuples 
would be a quick example of most of the features in D, with a __traits 
static if / foreach loop.

Also, I wish I had learned about Dub, Mono-D & Visual-D sooner with an 
easier tutorial. Maybe an installer with Visual Integrated Shell and 
Visual-D combined would help newcomers, and instrudctions for Mono-D's 
handling of package.json files as project solutions. I had to try too 
many out-of-date or not-good-yet tools.

Hope it helps, this is also my first post on these forums ;)

Etienne


More information about the Digitalmars-d mailing list