What is D?
Abdulhaq
alynch4047 at gmail.com
Sun Apr 7 11:39:01 UTC 2019
What is D?
Where is the gap in the language market?
What is the future of D?
It's a quiet Sunday, Andrei and Walter have got me thinking, time
for some thoughts to go down an interpipe.
What is D?
D is, or should be, well I'd like it to be:
(1) A systems language
(2) A safe language
(3) A simple language (yes, really) that also has powerful
constructs
(4) A fast (at runtime) language
Where is the gap?
The above language, if it really existed, fills a gap in the
current language market. The new boys on the block make claims to
some of the above but I don't believe any of them really fill it.
Could D?
What is the future of D?
The answers to my first question also answer this question:
(1) D will be the go-to systems language
(2) D needs to get _safer_. It needs to be obviously safe to
someone reading D code, and it needs to fulfil the safety
promises it makes
(3) D needs to get _simpler_. Making it simple is the hard part
(4) D is already fast. Keep it like that
Andrei's thrown the deck of cards in the air. Everyone is
watching where they land. Which cards to grab? What is the
direction to head in?
(1) The ones that make D safer
(2) The ones that make D simpler
Walter is right when he says that more and more we (homo sapiens)
need a safe language. We all know why. Will that be D? D+/D3? or
D-? Safety and simplicity go hand in hand. We must be able to
reason about the code we write. We don't want 90% of our
cognitive load to be if this template and these @s and these
refs/ins/consts/inouts and these overloads and these memory
allocators and these imports and these mixins, when blended
together, will do what we expect them to do. Orthogonal features
really should be orthogonal.
One judgement. I'm just a bystander, I could be totally wrong but
I think my impressions probably reflect the impressions of many
other well-wishing bystanders:
D is too complicated. Too many @this and @that. Too many leaky
abstractions. Proof: sometimes clever people ask questions why
something doesn't work and Jonathan D, Steve S or Adam R are the
only people capable of answering them. That doesn't scale and
it's counter to having a safe language. Old D hands love D's
power because it's 'easy' to achieve an algorithm in a few lines
of code. However, it is often not simple to reason about if the
code will work and if it will be performant. Ref simple vs easy
by Rich Hickey.
More information about the Digitalmars-d
mailing list