Why not promoting team work?
strymon via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jan 17 03:38:35 PST 2017
On Saturday, 14 January 2017 at 02:28:34 UTC, nbro wrote:
> Hi!
>
> I've been following D for at least one year. I like it and I
> think it's a very good programming language, even though I do
> not agree with everything it's being done.
>
> One thing that has saddened me is seeing a lot of D's users
> trying to implement their own library or maybe trying to
> implement multiple libraries at the same time. Most of the
> results are very poor because libraries are not
>
> 1. completed
> 2. maintained
> 3. well-written
>
> I've seen comments like "I'm no more maintaining this library
> because I'm not able to proceed since I do not have the
> skills". This of course doesn't bring any credibility to the
> language, to the community, etc. So we see some people trying
> bring the caravan forward, but I many of these people are not
> qualified enough clearly, since they do not even have the
> vision and the knowledge that starting a project like creating
> a serious GUI or modern IDE is not an easy task, and definitely
> it won't be a person alone that will create one a decent amount
> of years that will compete with the most performant ones.
>
> My idea (which is mostly directed to the big names behind D) is
> that team work should somehow be promoted.
>
> How could you do such a thing?
>
> One possibility could be to announce interesting and useful
> projects in D and somehow ask for people interesting in working
> in such projects. These people should clearly be qualified for
> the job, but this isn't an easy task to verified. The projects
> could eventually or not be backed up by the announcer of the
> project.
>
> These could be a few starting ideas and options.
Coincidentally I have been stalking the D community for about a
year too. I think I think I get what @nbro is trying to say - at
least as far as the D libraries are concerned. I am not a
computer scientist, my background is statistics and I have tried
ALOT of programming languages and I think D is head and shoulders
above them all (at least the ones I've tried).
As far as the core D language and standard libraries are
concerned I think they are pretty well looked after probably
since their priority is very high. The debates in the forum are
also (or mostly) a good thing I think - as long as they remain
constructive.
Funnily enough I think Dub is fine (at least for my meagre
requirements), but the available libraries are quite woeful - and
I don't like saying this since I like D so much, it's also
depressing since I think that D is probably the best programming
language in the world. However, I think that D attracts highly
driven and talented people who also tend to be a little
egomaniacal and territorial. There are probably some commercial
considerations too. If you turn up asking about how to build a
"doodad" and someone else is making money in D with that "doodad"
or feels that the topic of that "doodad" is their personal
territory, they may not want to join with you to work on it or
want to help you with it. Help is given up to a point for some
basics or if you discover a bug somewhere, but I see that things
get territorial very quickly.
On the other hand there are also projects that are so ambitious
that they alienate people. For instance, there are very few
programmer that understand how to build data structures, computer
algorithms, scientific algorithms, have an awareness of how to
code for cpus and understand the ieee context of creating
algorithms. Then on top of that understand the specific library
configuration and the best way to contribute to it. I'm not
saying that people shouldn't have cool projects, but perhaps some
projects are trying to do too many things at once or need a
better way of organising themselves or need better documentation
for contributors?
The support for learning advanced D programming is also quite
poor, so unless you come from a pretty good C++ background or
have deep computer science knowledge, you will struggle. The
material on compile time coding is woeful. The best source I have
found is Philippe Sigaud's tutorial but it isn't exactly an
industrial strength text on the subject. I think that Ali's
Programming in D book is great, but after reading this,
"beginners" need more if they are going to productive with D
especially because of the dearth of quality libraries. The only
other source of good practice advanced D coding is the Github
standard library itself.
Its probably a good idea to have a suggested reading list for new
programmers that extend outside D at least until there are more
suitable D resources. For instance:
1. A book on algorithms and data structures.
2. A book on compilers, language design.
3. ...
Those that are very keen on building their own libraries can have
an easier time of it. D needs more programmers taking it
seriously and if there aren't enough immediate resources the
community needs to be able to point people to where they can
learn what they need to gain the knowledge to become useful (or
at least dangerous). I think that having more programmers around
will (hopefully) result in an increased chance of collaboration.
More positively, since I have been nosing around the community
for about a year, I think it is still a very good place to be.
Interesting things happen all the time especially in the forums
and I love seeing the continued developments of the language,
libraries and compilers. I mean, how many language communities
support THREE compilers at the same time!? (It's not necessarily
a bad thing) D is the kind of language that when you read about
it and code in it makes you want to be a better programmer, it
excites you and makes you want to learn more and do more. The
combination of the power of the language, it's performance is a
strong enticement that will keep me around.
More information about the Digitalmars-d
mailing list