does D already have too many language features ?

Cym13 cpicard at purrfect.fr
Mon Apr 8 11:11:34 UTC 2019


On Monday, 8 April 2019 at 09:46:06 UTC, adam77 wrote:
> Hello everyone,
>
> I started using D as an alternative to Java, what attracted me 
> to D was the robust memory management (including the way arrays 
> are handled), and interoperability with C (specifically 
> libraries) so far so good, but almost every language out there 
> (maybe with the exception of C) seems the eschew language 
> stability in favour of adopting whatever the latest fad is in 
> programming languages features. I see on forums for a number of 
> languages how features like lambda's or auto properties are 
> essential to their language or if they are missing some feature 
> how its a major detriment to the language. I sometimes wonder 
> how a Turing machine could ever manage...
>
> I'd be interested to hear other peoples opinion, does the 
> language have enough features? is it already overloaded with 
> features ?
>
> Any help will be appreciated!

 From my point of view, yes, but that's not the end of the story.

I come from python where there's a strong community incentive to 
have everyone use a similar style and lots of discussions are 
focused on what's "pythonic", ie what is "the best way" to solve 
a problem or write a piece of code.

This is not how D should be approached. D is more akin to C++ 
where every feature ever is present (or will eventually be as 
more people advocate for more features). Not all of these 
features work well together, far from it. This means that, like 
in C++, you should define at the beginning of the project what 
style you want to use and what set of features you want to base 
your code on. Then mostly restrict yourself to those core 
features.

That's why you see C-like D, code based mostly on classes and 
OOP, fiber based code, @safe code, range code, mallocator code...

I don't know how things are in java, but understanding and 
accepting that it is in my best interest to restrict my set of 
features was somewhat new to me. That said it also means that D 
can tackle most issues without ever needing to change language 
and that's nice too. So while I dislike cluttering the language 
with features I guess the issue is more in how I see it.


More information about the Digitalmars-d mailing list