Random points from a D n00b CTO
JR via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jul 15 06:13:33 PDT 2014
On Tuesday, 15 July 2014 at 09:24:14 UTC, Vic wrote:
> To illustrate point on D complexity:
> https://d262ilb51hltx0.cloudfront.net/max/800/1*_gRpHqzB-1zbG17jdxGPaQ.png
>
> It appears that it mission is to be Java, vs a system lang.
> hth
Maybe I misunderstand the term, but it seems to me that a systems
language inherently has to be complex? I'd do a car analogy but
I'd cringe. :3
The more abstractions you hide low-level code behind, the less
direct control the developer has over the hardware. Providing
both *allows* it to be complex but doesn't necessitate it, making
the black magic opt-in. I concede that it makes the language
bigger.
I mean, I have a bunch of shell scripts written over the years
that do everything from updating /etc/hosts with additions from
MVPS[1] to determining the OpenNIC DNS server[2] with the best
ping. And I could probably do *quick-and-dirty* rewrites of these
in D with little effort, and they'd probably even be less complex
as shell interpreters' limitations makes writing non-trivial
stuff a pain in the derriere[3]. No std.socket.ping though, would
have to think about that.
A new user would get more hidden allocations, but the
abstractions allow for that. He would see a simple language with
most of everything he wants *in phobos*. An experienced one could
probably make them very effective and nigh-allocation-free, and
the complex low-level parts allow for that too.
[1]: http://winhelp2002.mvps.org/hosts.htm
[2]: http://wiki.opennicproject.org/Tier2
[3]: http://pastebin.com/Uj5rw7TL
More information about the Digitalmars-d
mailing list