On Friday, 9 February 2018 at 07:54:49 UTC, Suliman wrote:
I like D, but sometimes it's look like for me too complicated.
Go have a lot of fans even it not simple, but primitive. But
some D futures make it very hard to learning.
Small list by me:
3. too many attributes like: @safe @system @nogc etc
Which language futures by your opinion make D harder?
I can't say that I've ever really found D complicated. I think
the main reason for that is because my first language was C++,
and there's really nowhere to go but up from there (I was
experienced with a few other languages as well like Java, Scheme,
Basic, etc. but none I would regard as complex).
I think the perception of D being complicated is more from
programmers coming from Python/Ruby/JS (and to a lesser extent,
Haskell/Scheme/Java). D is quite different if you're coming from
a "VM" or "scripting" language because it exposes you to a lot of
new concepts such as static typing, value types, templates,
monomorphization, immutability, memory layout, linking and
compilation, compile-time vs. runtime, etc. It's not that these
programmers are less skilled or less knowledgeable; it's that if
they've never used a language that has forced them to consider
these concepts, then it looks to them like D is a massive step up
in complexity compared to the language that they're used to.
I think if you asked 100 C++ programmers whether they thought D
was a complicated language, 99 of them would say no. If you ask
100 Python programmers, 99 would probably say yes.