Programming Language Landscape
Aug 27, 2023Domain- and paradigm-wide shifts across the programming language landscape.
Domain-wide
Web: JavaScript/Ruby/PHP/Python/Java/C# => TypeScript/Dart/Go/Rust/Zig/Roc/Crystal
Verification: Agda/Isabelle/Dafny => Coq/Lean/Idris/TLA+/Rust
Scripting: Python/Lua/Perl/Groovy => Roc/Crystal/Go/Zig
Shells: Sh/Bash/CMD => Nushell/Fish/Zsh/PowerShell
Mobile: Objective-C/Java => Swift/Kotlin/Dart/Zig
Graphics: C/C++/CUDA => Zig/Rust/Odin/Jai
Systems: C/C++/COBOL => Zig/Rust/Hare/Nim
SciComp: Fortran/MATLAB => Julia/Futhark
Statistics: Stata/R/VBA => Python
AI: C/C++/CUDA/Python => Mojo
Typesetting: TeX => Typst
Paradigm-wide
Imperative (OOP => DOD): C/C++/Java/C#/Python/Ruby => Zig/Mojo/Rust/Swift/Crystal
Functional: Haskell/OCaml/Elixir/Scala/Clojure/F#/Elm => Roc/Koka/Unison/Gleam
Concatenative: Forth/Factor/Joy/Cat => Kitten/Dt
Logic: Prolog/Scheme => Wolfram/Racket/Kanren
Array: APL/BQN/J => Uiua