Hasty Briefsbeta

Bilingual

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.