Unpopular opinion:

You don't actually need to use dependencies. You could just write your own stuff.

Reply to this note

Please Login to reply.

Discussion

Yeah, but it’s like inventing the wheel again for every project you start. Possible, but not practical in reality

Most of this software hardly does anything.

Also, if one of these libraries coughs, 5000 projects get a cold. Incredibly brittle.

wheels tend to end up in the stdlib

everything else is a mess

only took me about 3 weeks to write all the json parsers required for nostr envelopes, though i did need to test them more later

didn't bother writing a generic json parser for standard objects that i have a fixed structure for (events) i just wrote some code that grabs those code segments... lazy evaluation > sophisticated bullshit

It's a judgement call for each routine. I'm not going to reinvent libsodium. But a FIFO queue? Yes, I can probably improve the API or make the memory management work more smoothly with the rest of the app.

Unpopular opinion:

You should EXPLICITLY PIN your dependencies and SHIP THEM within your app.

Nope, but it makes it easier if you choose the right dependencies and you can prototype faster. You could also write your own version control system. you could do it all by yourself. Your project will only take a few years to complete and then it will be obsolete and you can start all over again. Do not invent the wheel again, and use KISS.

If it’s a toy project or hobby, sure. For fun, for learning purposes, to challenge oneself, etc.

In the business world a developer (or team) should make that decision balancing risks and constraints.

Everyone says that's what they're doing, but I think they always decide to go with the dependencies because it's faster.