On Saturday, September 17, 2011 01:53:07 Nick Sabalausky wrote: > People who are *good* at C++ are hard to find, and even harder to cultivate. > And that's never going to change. It's a fundamental limitation of the > langauge (at least until the Vulcans finally introduce themselves to us). > But D's a lot easier for people to become good at.
It's a _lot_ easier to find good C++ programmers than good D programmers, and I suspect that given the current issues with the GC, if you were working on a AAA game, then you'd probably want the folks doing it to be good C/C++ programmers so that they would know how to do what needed doing when they can't use the GC or most of the standard libraries. For projects where performance isn't quite as critical, then D stands a much better chance of working. It _is_ easier to learn and has some definite advantages over C++. > And then there's the enurmous savings in build times alone. Full recompiles > of AAA C++ games are known to take upwards of a full day (not sure whether > that's using a compile farm, but even if it is, D could still cut down on > compile farm expenses, or possibly even the need for one). > > I'm sure there are smaller reasons too, but I'm convinced the primary reason > why AAA game dev is C++ instead of D is ultimately because of inertia, not > the languages themselves, or even the tools (If the AAA game dev industry > genuinely wanted to be using D, you can bet that any tools they needed > would get made). As long as you stand much chance of running into a compiler bug, dmd just won't be up to snuff for many people. Most programmers are used to not having to worry at all about bugs in the compiler that they use. And tools are _very_ important to people, so D's lack of tools on par with many other, more popular languages is a major impediment. Yes, there's a lot of inertia that needs to be overcome for D to make a lot of traction in domains where C++ is currently king, but it's a lot more than just getting people to take a look at D. There are fundamental issues with D's current implementation which are a definite impediment. The situation is improving without a doubt, but it's still too rough for many programmers. > I'm sure there are a lot of pet languages out that wouldn't measure up to > this test, even for the people who are fans of such langauges, but I've been > with D *specifically* because I see it as a genuinely compelling contender. > Languages that have limited suitability automatically turn me off. For > instance, I'm a huge fan of what I've seen about Nemerle: But because it's > .NET-only and doesn't have much (if anything) in the way of low-level > abilities, I've never even gotten around to downloading the compiler > itself, let alone starting any projects in it. > > I really don't even see D as a pet language. To me it's a bread-and-butter > langauge. And I took to it because the other bread-and-butter languages were > getting to be anything but: C++'s bread was getting moldy and it's butter > rancid, and Java is more of a Wonderbread with "buttery-spread". Sure, > sometimes the slices aren't even, and it might have some air bubbles, but > that's still one hell of an improvement over rotten and/or manufactured. I definitely prefer D to C++, but I honestly think that your hatred of C++ (which you have expressed on several occasions) clouds your judgement on the matter. Many, many programmers are fine with C++, and while many programmers may like C++ to be improved or would like a language that's similar to C++ but without as many warts, that doesn't mean that they're going to be in a hurry to try out D. And many, many of the people who have problems with C++ use languages such as C# and Java instead and are fine with that. D has a major uphill battle to truly become as relevant as any of those languages are regardless of how much better it may be. - Jonathan M Davis