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.

Reply via email to