This Week in D #15: hackathon, mem management, ARM, tip for C coders
Adam D. Ruppe via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Sun May 3 20:23:07 PDT 2015
I covered two weeks this time, as I missed last week.
http://arsdnet.net/this-week-in-d/may-03.html
The tip this week might be a bit controversial but I actually
feel kinda strongly about this. So many times, I see people
asking questions about how to do task X in D.
I think that's the wrong question: you should just be asking how
to do task X. The programming language isn't terribly important:
if you can do it in C, you can do it in D basically the same way;
D provides similar language features to other common languages
like C and Java, so a LOT of knowledge carries over from them...
as long as you aren't afraid to use it.
I think that when people are new to D, we ought to press this
carry-over point. They don't have to forget everything and
suddenly do everything the D way, using only Phobos, doing it all
with lazy ranges, etc. It doesn't have to be all that new,
unfamiliar territory at once.
Similarly, I get a bit bothered when I see a lot of work done to
add a bit of common functionality to a C library. Now, don't get
me wrong, I reinvent the wheel as much as the next guy (actually,
I don't even like the term "reinventing the wheel" exactly
because so much knowledge carries over. Just because I'm
re-coding it doesn't mean I'm reinventing it. By carrying over
knowledge of the problem domain from any source, it makes coding
it again a lot easier - I already know what needs to be done and
where the pitfalls are, unlike a truly novel invention, where all
that is a mystery going into it. But I digress).
I almost never use third party libraries personally for a variety
of reasons, so I get the desire to rewrite things, especially
when D offers so many ways to do it better than ever before.
But at the same time, I'm also a working programmer accustomed
to things like last-minute client requests, deadlines, and other
schedule constraints (including just simply not *wanting* to
spend that kind of time on a problem, believe it or not, I don't
actually care for programming all day every day....)
In these cases, being able to say "yes we can, and I can do it
today, though it might look like C" is so much more valuable than
saying "maybe... if I figure out how to make it idiomatic D"
So I guess it is more a peeve of mine than anything else, but I
wanted to talk about it anyway and used the tip of the week as my
vehicle. D code that looks like C isn't a bad thing, indeed, I
think it is a selling point.
More information about the Digitalmars-d-announce
mailing list