On Friday, 15 January 2016 at 08:12:03 UTC, Russel Winder wrote:
"several versions behind" might be a better way if putting this. The release cycles of DMD (basically unconstrained),
LDC (basically unconstrained), and GDC (heavily constrained),
mean that "out of date" is a bad marketing phrase.

I wasn't trying to market D; I was simply offering my advice to the OP.

I think D is a fantastic language, but I'm not going to downplay what I perceive to be its shortcomings.

I find this the wrong view of progress, yet one that remains embedded in far too many organizations. It comes in two parts:

1. If a product has changed at all in the last six months, other than trivial bug fixes, it isn't stable enough to use in production.

2. Once we have stuff out in production, nothing may be changed until end of life.

Clearly the opposite extreme of "we must use the very latest of every early-access version we can get out hands on" is equally dangerous in production. There is a middle ground. Keep everything as up to date with formally released versions as possible, taking on a continuous change and evolution strategy.

In this mindset D is certainly stable enough for production, it is not beta software. DMD is the playground compiler, GDC the conservative but solid one, and LDC the core production tool.

That is not my mindset.

I consider D beta-quality because whenever I program in D, I encounter bugs (both new and old) in the compiler and/or standard library on almost a daily basis. This has not been my experience with other languages that have more money behind them, like Java (never hit a bug in my life, that I'm aware of), C# (once?), or C++ (so byzantine that I'm not sure I would notice - that's why I prefer D :-) ).

None of the bugs I've hit recently has been too difficult to diagnose and work around, which is why I no longer consider D alpha-quality. I, personally, would be comfortable using D in production - but that's because I have a high tolerance for the kinds of minor issues beta software brings with it; not everyone does.

And to be clear - I think GDC is awesome. But I also think that someone with a low tolerance for issues like the one the OP complained about will be happier using DMD or LDC, as I find the newer front-ends noticeably less buggy in day-to-day use.

Horses for courses.

Reply via email to