Skip to content
On this page

Programming languages

There is a great article that goes over how one program can be written in different languages from the most abstract level of Math to Haskell to C to Assembly to actual machine code.

Crafting Interpreters is an amazing book. Together with Writing Interpreters in Rust Guide. Exercism is a nice tool for language practice. I think Execute Program is currently the best way to learn your first programming language, currently it targets TypeScript. The interactiveness of it's teaching is incredible. I used it to teach my smaller brother & sister coding by helping them as they did all the exercises. We then went on to use the knowledge of JS/TS to build games & Minecraft mods together on Replit.

I dislike languages with semicolons which is why I prefer Swift (native GUI) / Go (servers/CLI) / TS (browsers/scripting) over any other language right now. Exploring using Rust more too. I find Go/Swift plenty fast when I need speed although wish Go was less boilerplaity, especially with its error handling.

I write Rust or Zig when I want to write embedded code without GC or target WASM. Although even there, TinyGo can be enough I think. Julia looks nice for any kind of heavy data processing code / ML.

OCaml seems interesting as a language to do some type theory research in. Has fast compile types and smart inferency type system. Same for Agda/Coq/Idris. Unison has some novel ideas to learn from too. Vale does novel research in memory management. Gluon is nice embedded functional language. Austral is great implementation of linear types. Cyber & Bog seem nice for scripting although I prefer TS/Bun.

Effects bibliography is a nice read.

Lady Deirdre is interesting for making IDE for your language.

Notes