Thoughts about D

codephantom me at noyb.com
Mon Nov 27 01:05:08 UTC 2017


On Monday, 27 November 2017 at 00:14:40 UTC, IM wrote:
> - D is unnecessarily a huge language. I remember in DConf 2014, 
> Scott Meyers gave a talk about the last thing D needs, which is 
> a guy like him writing a lot of books covering the many 
> subtleties of the language. However, it seems that the D 
> community went ahead and created exactly this language!

I hear this argument a lot, about this language or that.

It has become an argument void of any real value, in my view.

The reason is, programming needs have changed a lot, the problems 
being solved have changed alot, there is a great diversity in how 
people think about solving those problems, and a greater need to 
solve problems that are not solvable with current langauges.

So languages necessarily evolve according to the pressures put 
upon them by the environment in which they exist.

As for using features from other languages, this is a normal 
process of evolution -  convergent evolution. A language that is 
getting smaller, is NOT a language that is evolving (such a 
language is useful in a particular domain only).

The question is really not how 'huge' a language should or should 
not be. The question is how we can grasp that hugeness. The 
universe is huge, and extremely complex. But it can be understood 
(to an extent) according to some pretty basic principles. The 
human brain is equally 'huge' and 'complex'...but we are slowly 
coming to grips with (some of) it's basic princplez (deliberate 
spelling mistake for my friends ;-).

> - ‎D is very verbose. It requires a lot of typing. Look at how 
> long 'immutable' is. Very often that I find myself tagging my 
> methods with something like 'final override nothrow @safe @nogc 
> ...' etc.

Sorry..what. You program in C++ and you're saying D is very 
verbose ;-)

I do think though, that function headers are becoming far too 
long .... but this maybe something that one just has to accept, 
if one wants to have those choices.

i.e. You can only really make them shorter, by not allowing the 
programmer to have those choices. And if D is about anything, 
it's about programmer choices.

> - ‎D claims to be a language for productivity, but it slows 
> down anyone thinking about efficiency, performance, and careful 
> design decisions. (choosing structs vs classes, structs don't 
> support hierarchy, use alias this, structs don't allow default 
> constructors {inconsistent - very annoying}, avoiding the GC, 
> look up that type to see if it's a struct or a class to decide 
> how you may use it ... etc. etc.).
>

Some very smart people who design programming languages think ALL 
inheritance should be completely banned. I'd be very happy if 
that were the case. Personally, I find it very easy to be 
productive in D, without classes. It's annoying language/library 
bugs that slow down my productivity.

But think of D as a work in progress...like galaxies crashing 
into each other.. it doesn't happen very often..so enjoy it while 
you can.



More information about the Digitalmars-d mailing list