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