On Tuesday, 13 January 2015 at 23:34:40 UTC, brian wrote:
I know this thread is a little old now, and I'm not the most experienced programmer by a long shot, but I'll post my 2 cents from the n00b persepctive.

A question first: ... what do people actually have working in D?
I find very few "working examples" of things I want to do. Or things in general. That I can read and say "oooh that's close to what I want, I can tweak it a little here and there".

Take a look at the official package registry, called dub:

http://code.dlang.org/

Eg.
I want a program to write tweets.
I can't just google "twitter example d" and find a nice starter program to connect a write a tweet. Do the same with "twitter example java" and you'll probably have your problem solved within half an hour. So in half an hour I have a java program, and not a d one. I'll probably make changes to my java one and grow that, rather than trying to rewrite it in D because I don't even know it will work.

I don't think it's that unusual for a native compiled language: can you find C++ snippets to write tweets? I doubt it. A compiled languages is just not the tool people usually grab to write such things. D would like to break out of that box and be such a language, but it's probably not going to have a bunch of code written for small jobs like that yet.

The same can be said when I try to do other things too:
Like parse a webpage.
Or connect to APIs.
(maybe I'm constantly looking for things that other's don't do, but that's unlikely)

D would like to be good at all these things, and some of them are enabled on dub. But as a newer language with a smaller community than Java, obviously the amount of APIs covered is going to be less right now.

So for me, it's getting easier to solve my simple programming problems in other languages because I can find examples that a) others have posted and b) others have the same issues I face. I can't find those things in D nearly as easily (is this a limit of searching the term "D" or dlang?)

try
    solveMyProblem(close_to_exactly);
catch(Exception e)
    writeln("this library sucks");
finally {
    do it myself with exactly what i need and little more
}

I'd *love* to be able to do this, but if libraries don't work, personally, I don't know where to start most of the time. What if there isn't a library at all? html headers, oauth, blah blah. I may as well build a rocket. I have plenty of projects where I hit a wall (which I don't think is necessarily a language thing, but trying to use D to get to something else/do something).

This is the normal chicken-or-egg problem with a new language like D, ie people want libraries or API wrappers to get their job done easier but if they don't spend time writing them, they never get done.

Also, maybe the D community doesn't put their code up for public consumption as much as some other language communities. Could be another reason for the disparity, but just a stab in the dark: I have no idea if it's true.

So in summary, from my perspective I find it difficult to solve the programming challenges I face, using D. Maybe that's a skill thing.
Lack of working examples makes taking that first leap daunting.
Lack of connectivity (to the things I want to connect to) is frustrating. Through googling, I'll be able to get something running quicker in another language than continue trying to get D to work. If I find these issues, and I'm moderately intelligent, I'm sure others have the same issues. I love the language, but if someone wanted a language to learn, I don't think I would recommend D. :(

I don't doubt that these issues exist, I just consider them normal for a newer language.

As for recommending D, I think it depends on the type of user. If they care at all about efficiency, I don't know that I'd recommend a language other than D. If they don't really care how fast their code runs and prefer to stay at a higher scripting level, then the advantages of D fade compared to other languages.

Reply via email to