Finally a Lisp system wins the worse-is-better crown!
For context, "worse is better" refers to Gabriel's observation that products with simple implementations and complicated interfaces tend to achieve adoption faster than products with complex implementations and elegant interfaces.
One of the original motivating examples were Unix-like systems (simple implementation, few correctness guarantees in interfaces) vs. Lisp-based systems (often well specified interfaces, but with complicated implementations as the cost.)
Now the 'God wrote in lisp' song makes even more sense.
This is amazing, almost amazing as the website of the man who wrote it: https://www.songworm.com/index.html - "I wrote the generator for these pages in Macintosh Common Lisp."
I'm going to write a scifi story, the plot?
The lisp path won, Lispus instead of Linux, and we had AGI in 1997 due to code elegance.
I think Richard Gabriel attributes it to Jamie Zawinski?
He does not.
https://dreamsongs.com/WorseIsBetter.html
> One day in Spring 1989, I was sitting out on the Lucid porch with some of the hackers, and someone asked me why I thought people believed C and Unix were better than Lisp. I jokingly answered, "because, well, worse is better." We laughed over it for a while as I tried to make up an argument for why something clearly lousy could be good.
He then wrote Lisp: Good News, Bad News, How to Win Big (https://www.dreamsongs.com/WIB.html) for his EuroPAL keynote speech
> JWZ excerpted the worse-is-better sections [from Lisp: Good News, Bad News, How to Win Big] and sent them to his friends at CMU, who sent them to their friends at Bell Labs, who sent them to their friends everywhere.
The excerpt: https://www.dreamsongs.com/RiseOfWorseIsBetter.html
oh man... this comment is just so, so incredibly apt.
"Incidentally, very few people grasp the amount of effort Daniel Gackle expends running HN now, and what an amazing job he does." -Paul Graham, https://x.com/paulg/status/1282055086433284103
My comment definitely has more points than the two above it, but it's lower, even though that pattern isn't true with my other comments. Probably because Daniel manually demoted it as part of his manual/automatic hybrid moderation tooling, and probably for the sake of being humble about the amount of work he does for HN. Which I think is an interesting example of my other comment's point about how dang probably moderates HN. I'd be curious whether I'm very far off with this Daniel.
Interestingly, I think this is one of the cases where both the "For context…" comment and yours add important context for the parent comment that some readers may be not familiar with. Although that second one serves this purpose better, not because of the subject but because it's more directly informative.
Well, Facebook is PHP so...
Any idea of how much of their code is still primarily PHP? Curious myself.
If you mean stock vanilla php: none. If you mean Hack, Meta’s PHP dialect which is internally just called “PHP” colloquially: a lot. Basically everything that responds to a public HTTP request, both for APIs and for the website. And since Meta is a lot less “service-oriented” than some companies, a lot more application logic happens in the web server process than you might expect.
Backend services in languages other than Hack do exist, of course. When I left Meta (then called Facebook) in 2019, they were almost exclusively in C++. Now I don’t know for sure but I think Rust is gaining a lot of popularity for non-Hack stuff.
IG should still be Django I would think? I'm kind of curious about Facebook / IG's use of GraphQL, is it hack or just nodejs?
You might be right about IG, I never worked on it so I’m not sure. Certainly there was still some Django when I joined in 2015 but now, who knows.
I’m not sure what you mean about the GraphQL question. Meta doesn’t use Node at all, or at least not to any significant extent.
The entire website is still a PHP-like derivative language (with an optimizing compiler, etc). Backend services are largely C++.