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