DEV Community

Discussion on: Where do you stand on "magic" within languages and frameworks?

Collapse
 
mistval profile image
Randall

This kind of magic can offer us a lot in terms of productivity gains, but we should never be dependent on it, and should always use low-magic solutions until we understand the underlying technologies well.

What I mean for example is that you shouldn't try to use React before learning how to build a site with plain HTML, CSS, and JS.

You shouldn't use Nest.js before learning Express (or maybe even the raw http library).

You shouldn't use ORMs without learning SQL.

If you skip learning the fundamentals, and depend on magic, you'll be in trouble when the going gets tough.

Of course, I'm not saying we have to dig silicon out of the ground and build CPUs with our bare hands before learning to program (though I'm sure that would be pretty enlightening).

But any time we use a framework or library, we should try to sense when it might be obscuring the fundamentals and preventing us from learning something important. Not always easy, but I think it's something you can get a sense for.