Does D have too many features?

H. S. Teoh hsteoh at quickfur.ath.cx
Sat Apr 28 13:51:31 PDT 2012


On Sat, Apr 28, 2012 at 09:22:59PM +0200, q66 wrote:
[...]
> - AAs integrated in the language; you barely ever use AA literals and
> having them purely in Phobos would help get rid of the runtime fat, as
> well as better implementations

On the contrary, AA's are a major reason I started programming in D. In
this day and age, it's simply inexcusable to *not* have some kind of
hash type available by default.


> - Phobos is too fat - it needs to shrink to just a few core modules,
> others being distributed via some system like CPAN for Perl

Um... that's what a *library* is supposed to be: a large collection of
useful stuff from which you can pick the few that you need right now.


> - Properties - they're kinda broken at this point and the value is
> questionable

What kind of properties are you referring to?


> - @trusted @system

These are necessary.


> - Exception handling - a lot of runtime, questionable value

I completely disagree. No exception handling means lots and lots and
lots of boilerplate code for checking error codes, return values, which
are too tedious to write, which translates to many people leaving them
out and ending up with unreliable code that fail silently or crash
outright when a function call they assumed would work stopped working.

If you've worked in large multi-person projects, you'll see very quickly
why you *need* exception handling. No modern language can do without
exception handling. Maybe you have a beef with how it's currently done
in D, but regardless, you *need* exception handling of some kind.


> - Versions - not redundant, but needs a better system (with AND/OR,
> possibility of de-versioning, the assignment op to set versions is
> kinda bad)
[...]

I find versions sorta neat... and they're simple enough that they don't
add to much bloat to the language. (Whereas if you added AND and OR to
them, then they start duplicating the function of static if, and that's
when they become redundant.)


T

-- 
Your inconsistency is the only consistent thing about you! -- KD


More information about the Digitalmars-d mailing list