Hiatus, Improving Participation in D Development

dsimcha dsimcha at yahoo.com
Sat Jul 14 21:02:09 PDT 2012


I've been on somewhat of a hiatus these past few months and have only 
worked on D-related development sporadically.  There are several reasons 
for my absence, some of which will hopefully change soon, and I hope to 
make a comeback.  Below are the reasons why my contributions have 
declined and some suggestions for improvements to the D community where 
the issues aren't specific to me:

0.  There's a lot less stuff that's broken or missing now than a few 
years ago when I started contributing.  This has led to a mild 
complacency as D is already awesome.  For example, it's been a long time 
since I hit a compiler bug that caused me significant hassle.

1.  I'm writing my Ph.D. thesis and looking for jobs.  I still have some 
time to contribute, but D development isn't the top idea in my mind due 
to these distractions.  This is in some ways the root of the problem, as 
I have less time and mental energy to keep up with D through informal 
channels.  I think my job search is over, though, so that's one less 
distraction.

2.  Because I'm writing my thesis, I don't program much for my research 
anymore.  I therefore don't notice little things that are broken or get 
cool ideas from other languages as often.  To make it easier for someone 
to find bugs and enchancement requests in areas he/she is already 
familiar with, I'd like to see an ability to search by module (for 
Phobos/druntime) or feature (for DMD) in Bugzilla.  For example, in 
Phobos I'm most familiar with std.range, std.algorithm, std.parallelism 
and std.functional.  I'd like to be able to easily query a list of bugs 
specific to those modules.

3.  As the community has grown larger, more people besides me have 
stepped up.  Of course this is a good thing.  The only downside is that 
I've lost track of who's working on what, what its status is, what still 
needs to be done, and what the holdups are.  Perhaps we need some 
central place other than this newsgroup where this information is posted 
for key D projects.  For example, we'd have a page that says "Person X 
is working on a new std.xml.  Here's the Github repository.  It's 
stalled because noone can agree on a design for Y."  We should also 
maintain a slightly more formal wishlist of stuff that noone's working 
on that's waiting to be done.

BTW, if noone is working on a new std.xml anymore, I might want to 
start.  I interviewed for a job where they wanted me to do a small 
prototype as part of the hiring process that involved parsing XML.  I 
was allowed to use any language I wanted.  I think my D projects played 
a large role in me getting an offer, but I couldn't use it for the 
prototype because std.xml is so bad.  I ended up using Python instead.

4.  The release cycle has slowed greatly.  What happened here?  The 1-2 
month release cycles were a good motivator because they created mild 
deadline pressure to get features and fixes checked in before the next 
release.

5.  The amount of stuff on this forum and the mailing lists has become 
overwhelming.  I've recently remedied this to a small degree by 
unsubscribing from dmd-internals.  I've never been a contributor to the 
compiler itself and had only subscribed to this list to track bug fixes 
and 64-bit support implementation.  Now, the signal-to-noise ratio of my 
inbox is good enough that I actually read the Phobos and druntime stuff 
again instead of just glossing over all my D-related email.

As far as this forum, I suggest a split something like the following, so 
that it has a better signal-to-noise ratio from the perspective of 
people with specific interests:

D.language-design:  Long, complicated threads about language features 
and the theory behind them belong here.

D.phobos-design:  Since the Phobos mailing list is intended mostly for 
regular contributors and is focused on individual pull requests and 
commits, this is where high-level design stuff would get discussed 
w.r.t. Phobos.

D.ecosystem:  Stuff about third-party libraries, Deimos, toolchains, 
etc. goes here.

D.adoption:  Discussions about why D was or wasn't adopted for a given 
project and how to increase its adoption go here.

D.learn:  Questions about using D.  We already have this, but we need to 
encourage people to use it more instead of posting to the main group.


More information about the Digitalmars-d mailing list