Hacker News new | ask | show | jobs
by bitwize 1105 days ago
Many of the most famous "done in Lisp" products I know of have the delightful feature that it's not Lisp itself that provides a solution that other languages can't. Rather:

1) Developers who like Lisp tend to be really smart, well-read, and well-educated.

2) Lisp streamlines these developers' thought processes, allowing them to get more done with less, fast.

For example, the early Naughty Dog games written in GOOL/GOAL take clever advantage of asset data to produce effects close to the very edge of what the PlayStation/PlayStation 2 can do. No feature in these Lisp languages made this possible where C or C++ could not, but working in Lisp enabled the developers to iterate quickly, experiment, and arrive at interesting innovative solutions within the required time frame.

3 comments

I'm sure the commenter above has seen this but for anyone who hasn't: Andy Gavin talking about pushing the envelope of the Playstation for Crash Bandicoot.

https://www.youtube.com/watch?v=izxXGuVL21o

> No feature in these Lisp languages made this possible where C or C++ could not, but working in Lisp enabled the developers to iterate quickly, experiment, and arrive at interesting innovative solutions within the required time frame.

You just described key Lisp features that aren't in C++. It's almost the entire point of using Lisp.

I worked at a game studio who used a lisp like that had morphed into a pythonic c with parens instead of curleys.

I asked the dev who made the engine why lisp.

"I had a month to build a new scripting engine. Lisp is the easiest to implement in c/c++ or in assembly and I had done it in college. So I made a compiler /emulator in like a week. If I had more time I would have made a dumbed down python with parallelism"

The parallelism was cool because you could have multiple conditions running at once like 5 ai walking 5 simple action loops until one of 3 conditioned collapsed them all into attack mode. Easy to model as threads with joins in this language. Could have been done with other languages but harder to do the memory management.

So not really cause it was a lisp