No disrespect to Naughty Dog.. Awesome engine and excellent game produced
from it...
but it did take them 3 years to make the game...
That's a luxury most of us console developers don't have.
The development of the engine was staggered with production
of previous (PS1) games. As all smart production is done.
The game itself didn't take three years. Most (non-sequel)
PS2 games take about two years, so I don't see them having
any more time than any other developer.
In 20years of writing games, Naughty Dog is the first company I've seen to
make a top game from Lisp, and I'd say thats because they have top
programmers and designers who could have made the same game in C if they had
applied the same algorithms... and it might have been made in less than 3
years...who will ever know?
Several top games, even.
And, pray tell, why would "top programmers [...] who would
have made the same game in C if they had applied the same
algorithms" _deliberately_ reject C for a Lisp-based language
to write their games?
Anyway, that's not important.
The key point here is that the reason companies don't switch
from C/C++ to Lisp (or any other language) just like that,
is because there are so many other aspects to things than
just the language.
C/C++ has a critical mass, meaning it's easy to find compilers,
development environments, other tools, programmers, etc.
When comparing C/C++ to the superior, but less mainstream
language X (where X might be Lisp or whatever you want),
you have to weigh the benefits X beings against its
drawbacks.
Most companies are afraid of the drawbacks -- which is
perfectly reasonable -- which is why we see 99.5% or so
of all games being written in C++.
That does not mean C++ is better as a _language_ for
game development. It might mean it is a better _choice_
of a language for game development (given the constraints
the company is working under). These are different things.
If all other things were equal and the choice stood
between C++ and a language X that is arguably better,
it would be a no-brainer for me to instigate our studio
switching to language X for development. However, all
other things aren't equal and even though there exists
several languages X better than C++, we already have
a large investment in existing C++ code that we cannot
justify the costs of switching.
Christer Ericson
Sony Computer Entertainment, Santa Monica