- 163comments
- 20comments
- 39comments
- 100comments
- 63comments
- 225comments
- 128comments
- 16comments
- 11comments
- 131comments
- 189comments
- 10comments
- 603comments
- 77comments
- 12comments
- —discuss
- 24comments
- 71comments
- 8comments
- 13comments
- 172comments
- 5comments
- 18comments
- 80comments
- 82comments
- 49comments
- 224comments
- 2comments
- 63comments
- 684comments
Quoted from http://bc.tech.coop/blog/060118.html
Edit: The post has more about in what respect the author considers the replacements inferior.
This inferior game development environment led to two incredibly spectacular, well-rated games. In my opinion, Uncharted 1 and 2 completely eclipsed all of their previous work.
There were some presentations/talks about the use of Lisp/Scheme in the production of these games.
For example:
http://www.naughtydog.com/docs/Naughty-Dog-GDC08-Adventures-...
Andy Gavin, one of Naughty Dog's co-founders, posted on HN a few weeks back summarizing his work with Lisp (and GOAL) and how he's now moved to Ruby:
(from http://news.ycombinator.com/item?id=1998321)
(Ruby's) "garbage collector is good (the one in ACL is was so awful and dated -- I last used it in '07 -- you pretty much had to turn it off."
I found this interesting. Ruby doesn't have a particularly cutting edge GC afaik, just a standard mark and sweep collector [1]. Why does ACL, which is a commercial lisp and supposedly one of the better CL implementations at least technically[2], have a (relatively) terrible gc?
[1]maybe this changed recently - I don't track Ruby or use it - but Andy is talking of 2007
[2] their licensing terms were terrible last I checked. If you use ACL to build a product you have to give them a chunk of your revenue forever (see the "Value Added Reseller" license at http://www.franz.com/products/licensing/commercial.lhtml#var ) I am surprised anyone signs up for this.
This reminds me of Peter Norvig's move to Python:
(from http://news.ycombinator.com/item?id=1803815)
I worked with Andy on Crash 1 and 2. GOOL (predecessor to GOAL) was rough around the edges then, but incredibly productive to work in once you got the hang of it -- for all the reasons lisp hackers routinely cite.
Then, at ITA, we used Lisp for the QPX airfare pricing system. Both projects used lisp because the early people at both companies came out of the MIT AI Lab: Andy and I at Naughty Dog; Jeremy, Carl, and I at ITA.
The issue with lisp -- especially in light of decent alternatives like Ruby and Python -- is that it's hard to find developers. Yes, you can hire from the higher-than-average-talent set of current lispers. But that's a finite and shrinking set. I think that both Andy and Carl (who wrote the basis of ITA's lisp airfare system) would probably tell the current crop of startup hackers to use a more popular dynamic language. Personally, I'm using Python now, and Peter Norvig's comment about the psuedocode-like nature of Python really resonates with me.
But the main reason the popular dynamic languages are winning now, IMO, is all the code you don't have to write. Look at CPAN, PyPi, and whatever the Ruby equivalent is: there are hundreds of really well-written open source modules to do all the things you need to do on a big project. CPAN was first, but Perl poses so many syntactic challenges that it's hard to use it for a big project.
In terms of productivity, no language design can compete with not have to write code at all. That's the bottom line for me these days.