September 9th, 2024

⓿ dependencies!

Minimizing dependencies in software development enhances quality and performance. Developers should use built-in libraries, and library creators should aim for zero dependencies, potentially signified by a GitHub badge.

Read original articleLink Icon
⓿ dependencies!

The text discusses the importance of minimizing dependencies in software development, particularly for libraries. It emphasizes that while it is challenging to create applications with zero dependencies, developers should strive to use built-in libraries of their programming language. For library developers, aiming for zero dependencies is beneficial, especially for those targeting a wide user base, strict security standards, or predictable performance. The text also mentions a badge that can be added to a README.md file on GitHub to signify zero dependencies.

- Minimizing dependencies is crucial for software quality and performance.

- Striving for zero dependencies is particularly important for library developers.

- Using built-in libraries can help reduce dependency issues.

- A badge can be added to GitHub projects to indicate zero dependencies.

Link Icon 8 comments
By @CaptainFever - 7 months
This website depends on Google Fonts.

  <link href="https://fonts.googleapis.com/css?family=Source+Serif+Pro" rel="stylesheet">
By @foresto - 7 months
Ironic that a site espousing 0 dependencies recommends adding an off-site dependency to a project's README on GitHub.
By @muhrizqiardi - 7 months
I have tried many times in my project to do "zero dependencies" but I always ends up failing. It's pretty much... almost impossible? Let's say I want to create some web app, do I really need to write my own design system from the ground-up, or just use existing styles/CSS libraries/CSS frameworks? I personally choose the latter

The closest thing I've seen to do "zero dependencies" is esbuild, even then, last time I checked it has one dependencies in go.mod I think for old version's compatibility reason

What certain is, like the other commenter said, I believe in minimizing dependencies... not zero dependencies

Another nitpick: I hate the usage of `⓿` character. I wonder how this will be read by screenreader...

By @kreetx - 7 months
I think this is bad advice. You can only be an expert in all the domains your program covers if the set of those domains is really small.

0 runtime dependencies though is another story - very helpful in deployments where your package manager doesn't solve it.

By @yding - 7 months
Depends on the language/standard library. For example in C if your library includes its own HTTP library that's probably not a plus.
By @diffxx - 7 months
I know I'm being pedantic but zero dependencies is impossible. I'm all for minimizing dependencies though.
By @Protostome - 7 months
reinventing the wheel for trivial things like progress bars and so on (e.g. tqdm) makes zero sense to me.