News for hackers. Stuff that matters.
Re:Surviving Software Dependencies by vbezhenar on Friday November 01, 2019 @07:12AM (#21417656)
You need one function so you add library. But that library contains dozens of functions and uses other libraries to implement those functions. So now you have all those dependencies even if you don't use them.
Re:Surviving Software Dependencies by austincheney on Friday November 01, 2019 @07:28AM (#21417707)
Do you really need that one external function though? At what point is it better to simply write it yourself?
Re:Surviving Software Dependencies by juangacovas on Friday November 01, 2019 @08:01AM (#21417852)
It's a matter of balance, always. A thin line. And dogmas that people on teams follow (we all do in some way).

Not invented here syndrome, always create a class, always put a class in its own file, premature optimization blablah, don't use goto, this and that is bad practice in that language, don't optimize until you need it (but you later don't have time to profile, or don't really want to...)

Re:Surviving Software Dependencies by majewsky on Friday November 01, 2019 @08:23AM (#21417982)
Never-invent-here syndrome is just as bad as not-invented-here syndrome, though.
Re:Surviving Software Dependencies by armitron on Friday November 01, 2019 @01:10PM (#21421191)
No, never-invent-here (aka extensive 3rd party library reuse) is orders of magnitude worse. NIH means you retain full control of your codebase. It's really determinism that leads to you being able to make reliability/robustness, availability and security guarantees.

Never-invent-here is a disaster waiting to happen.

Re:Surviving Software Dependencies by lonelappde on Friday November 01, 2019 @06:06PM (#21424185)
External code is better than internal code because you can reduce it to internal code just by forking it. If it is even minkscully useful, that's a win.
Re:Surviving Software Dependencies by agumonkey on Friday November 01, 2019 @08:44AM (#21418106)
My main point is that if it's something you cannot write exhaustive tests yourself in a few minutes then forget it and use something that has been in the field.
Re:Surviving Software Dependencies by austincheney on Friday November 01, 2019 @03:39PM (#21422888)
That is not a compelling argument. Yes, tests are important. However tests also require maintenance, so they are debt just your like dependencies. If writing my own build and HTTP service requires a few tests I would happily take that over failing for weeks with hundreds of megs of extraneous code that doesn't work.

Honestly, I think people justify this nonsense to themselves because they are scared to write original code, even if its incredibly tiny. The primary purpose of writing software is automation, if you aren't automating things with everything you write you are probably just an expense center. This is the financial way to say that your misplaced objectives make you unproductive and/or unreliable. It doesn't have to be that way.

Re:Surviving Software Dependencies by lonelappde on Friday November 01, 2019 @06:07PM (#21424196)
You don't need hundreds of megs. Use a stripper to strip put the parts you don't need.
Re:Surviving Software Dependencies by austincheney on Friday November 01, 2019 @06:19PM (#21424274)
I don't govern the mega corp.
Re:Surviving Software Dependencies by vbezhenar on Friday November 01, 2019 @01:32PM (#21421489)
IMO it's a bad state of modularity. There should never be desire to write function yourself because of fear to bring unused code to the project.

Imagine world where you can import a single function and it'll bring only required dependencies, no more.

But, yeah, currently you have to weight whether it's better to write the code yourself or bring external libraries with some burdens.