On 8 February 2018 at 23:54, Suliman via Digitalmars-d
<[1]digitalmars-d@puremagic.com> wrote:
> 
>      I like D, but sometimes it's look like for me too complicated. Go
>      have a lot of fans even it not simple, but primitive. But some D
>      futures make it very hard to learning.
> 
>      Small list by me:
>      1. mixins
>      2. inout
>      3. too many attributes like: @safe @system @nogc etc

But none of these features are *necessary* to start coding in D. They
are optional extras that are nice once you're comfortable with the
language.  I got by fine for *years* without even using a single mixin,
or knowing what 'inout' does, or use any attributes.

It's like human language, there's a set of core words ("basic features")
that you have to know to hold a conversation, but there's a vast
vocabulary of more specialized words ("advanced features") to draw from
when you need to be more precise or in special situations. You don't
need to know the *entire* language to be functional in it. E.g., there's
a vast body of scientific vocabulary that 90% of the general population
(of native English speakers) has no idea about.  Yet they can live and
function in society just fine.  But that vocabulary is there when you
*do* need it.

It would be a worthless language if it's extremely easy to learn but can
only attain to the complexity level of baby-talk.  Turing machines
technically can compute the same thing as D can, and they are about as
simple as it can possibly get while still being Turing-complete.  But do
you really want to write non-trivial program in Turing machine?
Probably not.


On Fri, Feb 09, 2018 at 11:13:13AM -0800, Manu via Digitalmars-d wrote:
[...]
>    2. Wrong defaults for attributes

Unfortunately, this is a historical accident that's not easy to fix.
Short of doing a D3 iteration, but I don't see that happening anytime
soon.


>    3. string mixins always used in place of some sort of more sanitary
>    macro system
[...]

That gave me a double-take.  "Sanitary" and "macro" in the same
sentence?!  That's just ... I know what you *mean*, but the thought is
just, wow. :-D


T

-- 
They pretend to pay us, and we pretend to work. -- Russian saying

Reply via email to