DEV Community

Discussion on: Which backend programming language should I choose?

Collapse
 
patroza profile image
Patrick Roza • Edited

The perceived speed of all those frameworks in the various languages is imo just a dream, a balloon that will eventually pop.
Sure they may seem to get you up and running quick, but you also inherit all the baggage, lock you into a certain way of thinking, and eventually lead you to run into the limitations. The plugins will rot over time, major framework updates will cause major upgrade pains, often leaving you stuck on the old versions for far too long, and everything that made you fast at the beginning now slows you down.

I do however think they're fine for prototyping some stuff quickly, to find out what you want and need, in the exploratory phase.

Don't get locked into framework prison. Like Uncle Bob advocates in Clean Architecture, such delivery mechanism frameworks just become some detail at the edge of your app.
Don't learn frameworks, but learn patterns, and know when to apply them.

I would suggest to roll your own framework or set of tools, based on low-level libraries, instead of high-level frameworks. It will pay off, in my experience.

Build something with Scala's ZIO, or Typescript's @matechs/effect, or Kotlin's Arrow-fx, for example. Would be my suggestion. But if you don't want to go the functional direction, the same rules apply; gather the libraries and tools that you need, try to steer clear of frameworks.