If you enjoyed Lisp, you should definitely check out Scheme, Racket, and Clojure. Scheme is my personal favourite language. OCaml is also great.
I use s7 Scheme hosted inside C apps. One of the cool things about Scheme is that are a lot of different ways of using it. (embedded, compiling to C, standalone, etc).
With LLMs, I choose tooling based on the task.
If I need to do some systems level engineering, I’ll reach for Go or Rust. There is generally no reason to use Rust first, because 99% of us will not need 99 percentile performance. I also find Rust to be a tougher language. 98 percentile performance with Go is fine, where there are usually one or at most 3 ways to do something.
If I need web API services, I’ll use typescript for the ecosystem. Most providers offer SDKs and the broader ecosystem is rich. I can use node or bun, and these services can scale nicely at a reasonable $/maintenance/performance ratio.
I’ll reach for Docker because compute is now expensive and dedicated hosting is cheaper than AWS/GCP. I can get a 2020-2022 processor with 128gb RAM and generous bandwidth for $100-200 a month.
I always enjoyed clojure. It had a steeper learning curve than something like python, but you could build really powerful systems and abstractions. Now a lot of that joy is gone and you're probably best off going for the most performant language (ex. Rust, go etc)
I tried rust but the compilation times often make it hard to get into a flow state. I have no idea why it takes so long to compile. I thought low level languages compiled faster.
I still prefer vanilla TypeScript whether writing a browser application, command line application, or both. The language is extremely mainstream but the mere mention of not using common abstractions will trigger holy wars from people who cannot program.