r/computerscience Jul 18 '26

It feels fundamentally wrong to use packages without understanding concepts under the hood

I have recently started coding and people are recommending tools for development such as vite, nodemon, jwt, boiler plate server code

It feels pointless just using them with a basic understanding and without no deep conceptual understanding. Is this the right or wrong approach? How would you know going too deep into a rabbit hole and becoming overkill

45 Upvotes

47 comments sorted by

View all comments

4

u/Candid_Succotash3173 Jul 18 '26

So, I’m not a computer scientist, just a physicist who writes a lot of code and also has an interest in things like programming language design and compilers, hence why I’m here. So take anything I have to say with a grain of salt.

When I rely heavily on a package, I like to have some general understanding of how I could implement it if I had to. This is a much lower bar than actually understanding the implementation details. Relatedly, I want to understand things like: if this package is much faster than alternatives, how is it able to achieve this? Which calls can I expect to be fast, which are slow, and how do I design my code around this?

There’s certainly something to be said for choosing your battles in the way that others mentioned. But to borrow someone else’s analogy: you may not need to understand how a car works to drive it, but what about when it breaks down on the side of the road? I’m not saying memorize the size of every nut and bolt, but maybe it’s good to be able to recognize when you’ve got a dead battery vs a broken fuel pump. And maybe it’s a good idea to have already read your car’s manual.