Skip to main content

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. Exercism is a nice tool for language practice. I think Execute Program is currently the best way to learn your first programming language. 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 a lot which is why I prefer Swift (native GUI) / Go (servers/CLI) / TS (browsers/scripting) over any other language right now. Rust is too slow to compile and also too noisy with syntax. I find Go/Swift plenty fast when I need speed although wish Go was less boilerplaity. If I do want to do some embedded code, I'd probably use Zig as it's much simpler than Rust and has no GC too. Although even there, TinyGo is 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.