On 17/09/11 6:53 AM, Nick Sabalausky wrote:
"Peter Alexander"<peter.alexander...@gmail.com>  wrote in message
For example, if the job was to produce a AAA video game that ran on PC,
PS3 and XBox 360, I'm sure you could *do it* with D if you paid people to
develop the compiler tech and tools to produce PowerPC code and interface
with all MS's and Sony's libraries and tools. But would you?

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.

You don't need people that are especially good at C++. You don't need to know metaprogramming or generic programming or the intricacies of templates to ship a product.

Just look at the DMD compiler: there's no advanced C++ in there at all. It still works.


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).

This is false. You can easily build several million lines of code in several minutes using unity files and distributed building. There need not be any build farm expenses, the build machines can just be everyone's dev machines.

In contrast, my D hobby project at only a few thousand lines of code already takes 11s to build and doesn't do any fancy metaprogramming or use CTFE. I am unaware of any distributed, incremental build systems for D, so I see no particular speed advantage to using D (certainly not orders of magnitude anyway).


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).

Tools are not free. Don't assume just because a company is large that it has unlimited funds. Creating tools, converting libraries all take lots of time and money that have to be justified.

I work at a very large game studio and I can assure you that I would *never* be able to justify using D for a project. Even if all our code magically transformed into D, and all our programmers knew D, I still wouldn't be able to justify the creation of all the necessary tools and dev systems to do something that we can already do.

Reply via email to