There are so many programming languages.
One way to categorize them is to focus on their runtime.
Categories
“Native”
Compiled to binaries, i.e. machine codes. These are sometimes called “System Programming” languages.
- C
- C++
- Rust
- Haskell
- Swift
- Kotlin/Native
- …
JVM
Compiled to JVM bytecode
- Java
- Scala
- Kotlin
- Clojure
- …
JavaScript
Compiled to JavaScript
- TypeScript
- Elm
- PureScript
- ReasonML
- ClojureScript
- Scala.js
- GHCJS (Haskell)
- …
Takeaways
- Some Toolings are somewhat similar within one category, but not usually across categories.
- There are some languages that target multiple runtimes, e.g. Clojure can be compiled to JVM and JS.
- It’s interesting to see now lots of languages are compiled to JS, even from those not originally targeted for JS. JS almost seems like a kind of intermediate language these days.
Happy programming days✨