Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is by Richard Gabriel, who coined "worse is better" (https://www.dreamsongs.com/RiseOfWorseIsBetter.html). He's also the author of Patterns of Software (https://news.ycombinator.com/item?id=13799628).

Incidentally I just finished reading it and found it quite fascinating.



Could you write about what you found fascinating? I read through the first 10 pages and it was mostly about how system architecture applies to Lisps.

As someone who has written the back-end of a compiler, I was surprised to learn that roughly 25% of execution time is building stack frames for a caller and a callee.


Poor writing, I meant that Patterns of Software was fascinating. I'd be interested to give a glance to the above though, precisely for insights like that which you highlighted.

I'm not surprised at all. Java has the same kind of situation going on, and its performance depends on the ability of the JIT compiler to kick in and perform inlining. When this is not possible (e.g. calls sites where you call a virtual method with many implementations), performance degrades a lot. This is especially bad with interfaces, which have intrinsically higher costs.

As for Lisp, it can be even worse if you take things like multimethods into account.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: