Lisp, Forth, Erlang, Smalltalk, and Rebol, so easily forgotten.
All languages that multiply your insight into the nature of computer programming. A bit sad that many just stop at the first of these, and many more don’t even venture past their Pythons and Javascripts.
Lisp is not "forgotten". It's quite alive, kicking and running [big] circles.
Nubank (the largest digital bank in the world) using Clojure as their primary driver grew from ~12M customers in 2019 to 131M in 2025 - almost 1000% growth in less than a decade. JPMorgan that has about 80M customers took around 150 years and dozens of acquisitions.
Apple, Walmart, Netflix, Cisco, Amazon - they all use Clojure. Google and Grammarly use Common Lisp.
Check the GitHub language stats and be surprised to see Emacs Lisp among the visible top. There's so much Elisp on GitHub alone - it's just effing crazy. That fact alone at least should be surprising. Remember? This is a not a general-purpose language - it's made for one and only thing, tis a damn configuration language for a text editor. And no, it isn't "some old stuff", check r/emacs - new packages get announced daily! I'm not even exaggerating - new stuff for Emacs comes every single day. Who the heck are all these psychos? Have they not realized how "forgotten" and "dead" Lisp was?
Seriously though, Lisp dialects are enormously practical, it is inconceivable today to find a runtime where you just can't run stuff built with a Lisp. And Lispers keep adding more - Janet, Jank, Jolt, Fennel, Clojure-Dart, Cljbang, Squint - all are pretty young, yet already not some "useless toys" - they're used to build real stuff.
> Nubank (the largest digital bank in the world) using Clojure as their primary driver grew from ~12M customers in 2019 to 131M in 2025 - almost 1000% growth in less than a decade. JPMorgan that has about 80M customers took around 150 years and dozens of acquisitions.
- There's not much correlation between tech stack and product quality, let alone market share.
- JPMC has ~$4.4T in assets vs. Nubank $75B ($0.075T).
In this specific case it is. There is a direct correlation. One simply needs to do fifteen seconds of research into it - Datomic was the single strategic multiplier that enabled Nubank's success. Later they made an executive decision to acquire Cognitect to secure their critical tech element. They didn't buy the makers of Clojure simply out of love for Rich Hickey's hairstyle.
Your point about JPMC is silly - assets are not a customer base, and I said nothing about the former. If JPMC had grown its customer base at the same 10.9x rate as Nubank, starting from ~60M in 2019, they would have reached roughly 10% of Earth's population. Arguing against Nubank's achievement is like insisting on a flat Earth. Not attributing their success to their tech stack is just not knowing the facts.
> Not attributing their success to their tech stack is just not knowing the facts.
Touche. Though that's context you could've also included.
> Arguing against Nubank's achievement is like insisting on a flat Earth.
I'm not denying their achievement, I'm putting it in perspective. Having 100 clients for a consumer product doesn't mean a more successful business than 20 clients for an enterprise product. It is apples to oranges, for sure, but you're comparing startup growth in an underbanked region to the literal largest (by assets, outside China) bank in the world.
> you're comparing ... to the literal largest bank in the world.
Well, Nubank is literally the largest digital bank in the world, by customer count & valuation. I'm baffled as to what you're trying to prove. It's as if I said: "look, this racing team achieved sub-sonic speeds with their bolide because they've put some innovative research and science into it..." and you would've replied: "well, it still can't pull the load a monster truck could..."
Why can't we just agree that what they pulled off within just a few years is actually pretty amazing? And it is pretty cool that the tech direction they chose totally paid off.
And that's completely natural. Compare it with woodworking.
Yes, some people would dive deep into the craft and create works of art, exquisite furniture and tools they need to make it even better.
But those are the few. For the most of woodworkers this is just something they somehow learned to do on a level needed to be able to get a job and make living.
I find that lamentation a bit funny, because the list in practice is never really complete. For instance, you forgot the mighty Prolog. Surely, tcl belongs on there too.
The more of them you explore, the more insight you get. The list does not have to be complete. It just needs to list some languages, that are truly different in how they work and what the ideas behind them are.
If I have to describe the feeling is that you'll realize that computation is symbolic manipulation (yes, it is obvious, but quite difficult to be fluent in it). With C and the likes you're too close to the machinery to easily grasp symbolic manipulation. But with other paradigms like lisp, prolog, oop with smalltalk,... you start learning how to design solutions in terms of symbols and their manipulations instead of values and concrete actions.
Once you start doing that, you move a ladder up in problem solving, where you solve class of problems instead of specific instances.
From what I've seen... I think if I were writing business applications, I'd reach for Elixir... if I were writing something lower level like communication software, I'd reach for Erlang.
I have written a fair amount of Elixir (and targeting business applications) and I think Elixir's expressiveness lends itself well to making more abstract models of the business processes and data seen in solving business problems. However, writing Elixir I find you end up reading a lot of Erlang and in certain problem spaces I could imagine the appeal over Elixir. I could absolutely see where if I were writing more technically oriented programs.... programs closer to the hardware in some ways or programs designed to communicate with other programs (protocols, etc.) I could see Erlang as being a more clear and direct language in these circumstances.
All of this is very hand-wavy, but it's my impression.
While I appreciate guest languages for bringing new ideas to specific language platforms, at the end of the day I rather use those that are developed alonside the platform, hence Erlang instead of Elixir, at least if I would be ever doing something with it again.
Last time I touched Erlang, "Learn you some Erlang for great good!" was fresh out of the printers.
I loved Erlang. I want to use it, those who can master mnesia natively are a powerful wizard/ess. I've only touched the surface and seen it's raw power.
I've just not had time to learn further. As swapping between languages when trying to complete my original Tcl project is tricky. I'm now poking around with Crystal.
A rookie example of erlang and converting strings to base16. I posted in haste a while ago on Tcl's IRC but fun. Never did implement the teddy bear colour.
For me, Elixir misses the mark. If you're an unc with a background in Ruby or that era of webdev, I can see the appeal. It's a familiar set dressing. I don't have that background, I much prefer the syntactic structure of Erlang's psuedo-horn clauses. Both for similar familiarity reasons (I knew Prolog before I touched Erlang), as well as a general preference for the simplicity.
I didn't imply otherwise, nor is the story different on the Erlang-Prolog axis (actually it's even more pronounced there.) I literally called it "set dressing". Where I think you go off the rails is that you're conflating surface-level things with irrelevance. Which isn't really true, especially in matters of taste.
I find this to be a very strange thing to get defensive about. It's not exactly a subtle part of Elixir's history. It was pretty well documented to be born out of the creator's dissatisfaction with concurrency in Ruby, and simultaneously, for a more Ruby-like language on the BEAM. That doesn't mean it's literally Ruby-on-the-BEAM (which was originally attempted, and didn't work out), however mistaking that as cause to dismiss the link between the two and the carry-over appeal for developers is an unsound overcorrection.
or, if you're a stoned bird, perhaps bootstrap your modern skillz by ...
a session prompting Claude to quickly write all of:
a forth style assembler for wasm
targeting a forth written in 6502 machine code (not assembly)
targeting a 6502 emulator/debugger written in Rust
that Rust being compiled into a wasm browser project with
a typescript ui for display api support for all the nested contexts
personally I've only ever done the forth-like in 6502 machine code task, but then I am old and useless (er, "retired") and wouldn't want to mislead youngsters onto my failed path
It does though. It teaches you that closed source is still open source in many many ways. Especially when you have something like Ghidra or IDA Pro. Nowadays this is even more true because LLMs can speed up retrieval of missing knowledge way more quickly. Back in the day I had to search for stuff but I bet now that LLMs give a decent guess at decompilation of something. Also it's the systems programming language and requires you to dive into the computer architecture of things. Try that with Python or JavaScript.
Okay, lets imagine it get enforced and every project is
scanned for compliance, with some false positives
and inability to prevent people from sneaking in AI code.\
Do you agree with it now?
Here’s an idea that’s been following me for a while, if you like low-level stuff:
Make a toy OS that boots into a Lisp shell.
Another to appreciate how fast computers that we call old effectively are: write a game for the shell. Depending on your level of skill, you can try pong, snake, lunar lander, or a 3D software renderer.
All languages that multiply your insight into the nature of computer programming. A bit sad that many just stop at the first of these, and many more don’t even venture past their Pythons and Javascripts.