The One With D
News and commentary on the D Programming Language

Happy New Year


Another year already. I was only just getting used to writing 2016!

The inevitable shift in perception that comes with age, when the passage of time seems to speed up, is beginning to have an impact on my programming hobby. I'm less eager to begin an exploratory project or game prototype, knowing that I'm almost certainly going to abandon it in the end. Time has become more precious to me, so I've become more conservative in how I spend it. I haven't played guitar in months. Where I used to play games regularly, often daily, I now play only once or twice a month and rarely more than twenty or thirty minutes in a sitting. I still have multiple interests competing for my attention, but I'm less inclined to take that first step than in the past, when I used to flit impulsively from interest to interest and project to project. I never would have started learning D back in 2003 if it hadn't been for my impulsive nature, but that very nature made it difficult for me to actually complete most projects.

As 2016 progressed, I found myself more focused and more disciplined than ever. Having worked on Learning D throughout 2015, being forced to keep to those tight chapter deadlines, I finally learned how to manage my time. It was a skill that had proved elusive to me for years. I've never been one to tell myself no, so learning to do that was a major step ("No, you can't play a game right now", "No, you don't have time to make a prototype for this game idea", "No, you can't start a new throw-away project in Java or C just to keep from getting rusty").

In 2016, I applied my newfound skill conservatively. In 2017, I intend to be more ruthless. I have a handful of specific projects I want to work on this year, all in the realms of programming and writing. Everything else, no matter how high my level of interest, is just going to have to be pushed to the side and saved for periods of downtime. In the land of D, there are three major projects I'm focusing on this year.

Derelict is, as ever, one of them. I missed my target of upgrading all of the packages to DerelictUtil 3.0 by the end of last year, which includes completing the documentation. This isn't going to be my top priority, but I will certainly devote time to it every week.

'The DUB Handbook' is high on my list. It took me some time to find the tooling I want to use to write and publish it, but I managed to settle on Bookdown early last month. I've made some progress since, but it has been a very low priority before now. Like Derelict, I will make time for it every week, but it isn't going to be my top priority. I hope to finish by the beginning of spring, but I'm giving myself until the beginning of summer.

Finally, I've got another D project I'm working on that I'm not ready to announce yet. It's tied closely into another writing project I'm in the middle of. I intend to announce it (and almost certainly open source it) by the end of the year. This and the companion writing project are my top priorities for the forseeable future.

I'll post updates about Derelict and 'The DUB Handbook' here. Of course, I'll also continue working on the D Blog and will have learningd.org back up and running in the next couple of weeks.

Here's to another great year for D!