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