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