they switched to python for various reasons.
r2 (old reddit, the reddit API, some parts of new reddit, some of their ML stuff), their monolith, is still written in python.
some services they have in go include some real time services (like the reddit talk stuff seems to be primarily written in go)
reddit kinda seems to have a SOA (not microservices). while there are some codepaths that go through r2 (and indeed this seems to be the case in a lot of cases with regards to old reddit), a lot of newer code uses services.
(note: their engineering blog (/r/RedditEng) calls a lot of their stuff microservices and indeed they may be using that for some things but a lot of their stuff have been described as using more of a SOA vs a microservices.)
someone like /u/ketralnis may have more information as well?
I have received offers this year to join well-funded startups using Clojure.
Datomic is great for some usecases. Clojure often leads the Stack Overflow survey in terms of salary.
Clojure often leads the Stack Overflow survey in terms of salary.
wouldn't that also imply the classic demand and supply thingy ? the one that is alluded too in pg's articles...This actually meshes well with what you'd expect from a lisp being used well. Lisp's power and its downfall is that it lets you express abstraction at whatever skill level you're at with no built-in mechanisms to keep style consistent across large teams. This works really well for small teams of high powered developers.
this is exactly right. i guess, a large part of the puzzle is to build one, and then leave them be...
Taking a code base and expanding the macros to see whether that is more or less readable is a bit like expanding a C++ class hierarchy into assembly language and concluding that this program’s object oriented design is great because it is more readable than the resulting assembly language.
The real question is whether or not there are better alternatives than macros or metaprogramming in the first place. Functions, especially as found in modern languages[1], have proven to be very useful abstraction mechanisms and can often mitigate the lack of fancy macros.
I don’t want macros banned from Lisp, but I don’t miss them in other programming languages. Over exuberant use of fancy macros in Knuth’s brilliant TeX, in my opinion, contributes to the glacial pace of LaTeX development.
[1] By this I mean functions with circumscribed access to non local variables, provisions for choices of ownership of parameters, static scoping, first class functions, closures, and recursion.
You're stuck with the ill-designed crap that Python puts out. For instance, I don't agree with pattern matching that assigns to existing variables; from where I'm sitting, it looks like an incompetent clusterfuck. If someone did that in one Lisp program, the entire language would be blamed for allowing that sort of "curse".
HN articles about exotic things, not just Lisp, do seem to get upvoted disproportionately.
Also, PG declared Lisp as something you're supposed to think is important or a superpower, and I've wondered whether that also contributes to some upvotes on HN.
But I'm not aware that a single one of the bajillion YC startups used Lisp.
Maybe it's like an admirable religious dogma that a congregation affirms each weekend, and then promptly forgets about for the rest of the week.