Here are some things I'm unhappy with currently.

1. Documentation

I find certain things, of which I will start writing down and writing patches for, in the documentation that are unsatisfactory. Two in particular is the current situation with memory management and CTFE. "delete" is planned for deprecation and alternative methods for custom de/allocators are already in place, yet most people don't even know about them or how to use them. I see talk on IRC about things that completely confuse me as to the state of things and I can generally find no obvious or reliable source of information. It's completely frustrating.

Documentation is much more important than feature implementation.

2. Milestones and Organization

Despite the initiative Andrei took to get the community organized and most people completely shutting his attitude down, D is still left in a a rather unorganized state. I don't mind DMD using bugzilla but extensive use of the simple milestone feature should be made and posted somewhere on the site to be made clearly visible as a semi-roadmap to the next release. Currently, there's no milestone for 2.058 (although there is one for 2.059 which makes no sense) so it seems that the 2.058 release will be, once again, completely random. At this point, I'd say the state of organization is still pathetic and/or scary.

3. FAQ

I think there was a discussion somewhere (of which I can't find now through Thunderbird search) but the FAQ is important. When people wonder about a feature of D, the first thing they should do is check the FAQ to find the answer.

I think that each time a solution is provided that might or might not be obvious, the reasoning behind that solution should be posted on the FAQ. Nothing should be left with abstract reasoning (outside of perhaps philisophy-based reasoning).

The FAQ is incomplete.

4. Microsoft

Windows. I cannot stand Windows. If Microsoft suddenly went bankrupt, Windows was never updated, and people had to move to MacOS or Linux, I would be the happiest man alive. Unfortunately, this will seemingly never be the case and it stands that Microsoft has the highest share of all the OS users. Thus, it should be given higher priority to attract more users. When people complain about D not having large Windows support (or COFF support in particular and the shitty optlink), it kills me a little on the inside.

5. Naming

This is probably a lost cause but I've recently seen various complaints about the name "D". It's not distinct nor is D old enough to be known like C or C++ is. I remember a comment about the name "Mars" which I think would have been much more distinct and clearcut, and would have caused less issues.

It also drives me insane that dmd for D2 is not named dmd2. There's no reason to not have it be dmd2 and you just stupidly caused incompatibility with the D1 executable. Not that it matters anymore but the fact that that's what happened looks incredibly dumb. Software like DVM popped up and while I appreciate such software, I don't think such software should be needed in the first place. Although, I do realize DVM has other uses.

The .c extensions on C++ files... need I say more? That itself is a joke and seems to have been ignored when complaints about it came up. I've just recently been told that DMD was mostly implemented in C which is false. This situation is needlessly frustrating.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

I'm not really affected by the in-language subtleties so much nor do they bother me. I'll post a bug if I find one, it will eventually get fixed, and I continue to use D. However, I can't help but complain about things when they're going unnoticed or unattended. I'd like to place my own personal emphasis on things I think need more thought put into them each month. Most of these complaints should have greater reasoning behind them which I will state. However, please comment on where I'm wrong or your own opinion against mine.

I like the D language. Not so much the projects that surround D.

Reply via email to