7 ms·
They obviously started writing Postgres in LISP, because "we soon realized that parts of the system were more easily coded in C" wouldn't make sense if writing
by nudq 7y ago
They obviously started writing Postgres in LISP, because "we soon realized that parts of the system were more easily coded in C" wouldn't make sense if writing a hybrid had been the initial plan.
They tried going all LISP at first, and failed. Was it them, or was it LISP?
- firethief 7y agoWell they were using LISP without GC because they couldn't afford stop-the-world pauses and concurrent GC didn't exist yet. If it was LISP, the several aspects of LISP they describe having trouble with are all obsolete considerations.
- lispm 7y agoSince they had no experience in Lisp programming, they chose the wrong language just for 'doing something different'. Writing a database in a performant way isn't something for a Lisp newbie. "By the time Version 1 was operational, it contained about 17000 lines of LISP and about 63000 lines of C". Version 1 was written in a mix of C and Lisp. That's also not surprising, since that would have been a common approach for some technical reasons. But it's a bit difficult to do - again, especially as a newbie. > Was it them, or was it LISP? Their lack of experience, their approach, the LISP implementation they were using, the hardware constraints (4 MB footprint was not acceptable to them), ... A conservative approach using a lower-level systems programming language like C was a good choice at that time and they were much more successful with that approach. There were/are a bunch of databases written in Lisp and even in a mix of C and Lisp: Statice (Symbolics), Zeitgeist (TI), Orion/Itasca, AllegroStore (Franz), ... But they were written by Lisp experts.