this post was submitted on 01 Sep 2023
337 points (96.2% liked)
Programming
17406 readers
111 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
We use too many libraries. This may be an actual unpopular opinion though. I find that the more a library tries to do, and the more dependencies it has itself, the more hesitant I am to use it. It just feels like a tower of cards ready to fall at any moment.
I'm not a very trusting person and work alone though so this might just be an emotional decision. But it is nice having a project be composed of code that does just what is needed and nothing else. It makes it easier to fix bugs and especially to maintain the code.
I do use libraries, but only if they're absolutely necessary or if they're very focused and don't try to do a million things. It's not about size but complexity.
I disagree (mostly). What's the difference between library and language built-in? PHP and C++ has a ton of built-ins. It doesn't make it less complex than using library.
Problems that look simple at the first glance are in most cases are complex with too many edge cases.
I think I have never written a single utility function that had no non-obvious bug, and imagine that in more complex problems
Not to mention in many cases any function you write is possibly dangerous.
Just take a look how many things you have to consider when checking for odd number in JS:
https://www.npmjs.com/package/is-odd?activeTab=code
And of course most of that can be fixed be using strongly typed language.
The difference is I trust the language. That's one source I have to trust. With libraries I have to trust a ton of sources.
What I do is look around at existing utility functions and then adapt them to my needs. The difference is I know exactly what I'm adding, and I know it doesn't have dependencies, and when changes are made, I know what they are because I made them.