Which New Language Should I Learn for Web Development?
a year ago
- #learning
- #web-development
- #programming-languages
- The author wants to learn a new programming language for web development that is significantly different from languages they already know (Go, Python, C++).
- Key requirements include: support for both backend and frontend, compatibility with SQLite, good unit testing support, open-source, actively-maintained, and minimal 'magic' or abstraction.
- Nice-to-haves include static typing, a good ebook available, and low abstraction.
- Non-goals include maximum performance and high-scale optimizations.
- The author evaluates several languages: Elixir/Phoenix/LiveView, Gleam/Lustre, Haskell, Ruby/Rails, PHP/Laravel, and Scala.
- Elixir is appealing for its unique features and Phoenix framework, but lacks static typing and LiveView feels too 'magical'.
- Gleam offers static typing and is built on Erlang, but is relatively new and lacks learning resources.
- Haskell has a powerful type system and mature ecosystem, but has a steep learning curve and might be too complex.
- Ruby/Rails is mature and productive but lacks static typing and doesn't feel innovative compared to Python.
- PHP/Laravel has improved but the author has an aversion to PHP and found documentation lacking.
- Scala has interesting typing features but feels too entwined with Java and the web frameworks are unexciting.
- The author concludes that Gleam is the best match, with Elixir as a close second, and Haskell as a future option.