new dmd, new DIP, beta dub docs, game lib announced. And politics in D

Posted 2022-11-21

Lots of announcements this week, including revamped dub docs, Hipreme's game library, and the first new dmd release for months - which includes the first practically usable version of ImportC (though I remain critical, this is a major milestone), and a new DIP, but all announcements that risked being overshadowed by a single thread and its aftermath.

Core D Development Statistics

In the community

Community announcements

See more at the announce forum.

ETI DIP

The new DIP is called ETI, for "enum type inference". I like the idea, but I'm not in love with the details.

Here's my counterproposal in the thread: https://forum.dlang.org/post/bievvzpabbxddogbmpgu@forum.dlang.org

The important thing I want to push is that enums are just one case, and anything that works for them ought to work for other aggregates as well, including members and constructors. That can make a difference in ease of use of nested types, which is something I like quite a bit.

I might write more about this in future weeks, but that linked post summarizes my concept fairly well. By making it just a magic alias, there's no code breakage and no surprises as with the implicit with Walter proposed. Most the other uses in the DIP look cool, and I don't want to argue over syntax, I just want it to work for all types, not just enums!

What Adam is working on

Someone on the forum asked last night about seeking in simpleaudio. That was on my list, but I hadn't gotten around to it yet. I went ahead and did it for ogg and mp3 already, with an overhaul to the mp3 module in the process, and more are coming later. I expect to tag dub v10.10 around the end of the month if all goes well.

Lots of little things and a couple big things in the works. More on this either next week or the week after.

D Community toxic politics

The biggest thread on the D forums last week was titled "Does D have any political goals?" and it brought up some issues and got a fair amount of attention on Twitter, especially two specific posts in the thread (since deleted).

I'm skeptical of any claim that someone has no politics. Often, people say they are apolitical as long as they like the way things are, but then once they disagree with something, they're as political as anybody else. And this appears to be true in that thread too. Some things were said by the "apolitical" side that clearly staked out their own political positions.

The D community has a bad reputation in certain circles and this recent event is not going to make things any better. And besides, take it from someone who has at least skimmed every single post in the main D newsgroups for a very long time that the forum in general has a pretty low signal-to-noise ratio. There's lots of topics that come up over and over again and get lots of posts but with little actually said.

I think the D forum ought to crack down a little harder on all these things. If the position is to be "apolitical", insomuch as such a thing exists, it ought to apply the rules strictly and evenly. If something is off topic, immediately shut it down. If a topic has been done to death, shut it down unless there's been a novel proposal formally submitted. We don't need yet another "why is D unpopular" thread, even though it is nominally on topic, these rarely go anywhere productive.

And there's no point entertaining irrelevant nonsense like someone complaining that a DIP draft used the word "she" at some point. Not only does this have political implications, it also is pure style-over-substance argumentation anyway. Don't waste people's time with this.

I think D would benefit overall from just staking down some positions and stopping many of these threads. Though, I also think it would need a way to change some staked down positions, and a formal process can deliver that outlet. I've written in the past about a way to improve the DIP process, and I may revisit this in future weeks with more details.

It is often said that there's a technical limitation in D's communication platforms that prevent these things. This is clearly untrue - posts are put into moderation queues and deleted right now. The first steps are defining the rules and designing a process. Then technical implementations to aid the enforcement of the process can be done as-needed.