Study: How do you deal with updating dependencies?
-
We're investigating how developers manage software dependencies (apis, libraries, packages, etc.). Help out a student with this quick survey! Why don't you update? What might help?[^]
[edit] Oh, and I completed the survey [/edit] Short answer, I avoid all package managers. I don't mind dependencies, but I want them locked down in the configuration that they initially work in, I don't want something auto-updating because there's a newer version out there, and I want to be in total control of what/when I update. And when it comes to open source dependencies, I ensure that I can build the damn source code, which more often than not fails and requires tinkering. And avoiding package managers sometimes involves creating a stub project, using a package manager, and then extracting just the DLL's that I need. For example, installing the TFS client shyte adds some 30 references to your project. All sorts of cruft. And guess what, I only need 5 of them. Package managers: X| X| X| X| X| X| X| X| X| Marc
Latest Article - Merkle Trees Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
We're investigating how developers manage software dependencies (apis, libraries, packages, etc.). Help out a student with this quick survey! Why don't you update? What might help?[^]
Updating is for suckers.
-
We're investigating how developers manage software dependencies (apis, libraries, packages, etc.). Help out a student with this quick survey! Why don't you update? What might help?[^]
Examining your posting history, it seems you post when you need us to supply you with information about how programmers do something or other. Sounds like research for business or other somewhat commercial purposes. Since you need CP users as a sample - should not your organization perhaps donate to support CP? And, of course, there's always Q&A !
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein
"If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010
-
[edit] Oh, and I completed the survey [/edit] Short answer, I avoid all package managers. I don't mind dependencies, but I want them locked down in the configuration that they initially work in, I don't want something auto-updating because there's a newer version out there, and I want to be in total control of what/when I update. And when it comes to open source dependencies, I ensure that I can build the damn source code, which more often than not fails and requires tinkering. And avoiding package managers sometimes involves creating a stub project, using a package manager, and then extracting just the DLL's that I need. For example, installing the TFS client shyte adds some 30 references to your project. All sorts of cruft. And guess what, I only need 5 of them. Package managers: X| X| X| X| X| X| X| X| X| Marc
Latest Article - Merkle Trees Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
Quote:
And avoiding package managers sometimes involves creating a stub project, using a package manager, and then extracting just the DLL's that I need.
Interesting approach that I may want to borrow in the future. :thumbsup: One possible exception: How do you deal with packages (like Costura.Fody) that drill into your project and embed themselves so deeply that that they become impossible to extricate later. I always keep a version of the project sans Costura, in case I need to dump it. But it is useful if you have a multi-project solution and you want to integrate the main executable and all required DLLs into a single exe file.
Get me coffee and no one gets hurt!
-
We're investigating how developers manage software dependencies (apis, libraries, packages, etc.). Help out a student with this quick survey! Why don't you update? What might help?[^]
Downloading updates from the internet in the installer breaks things. Globally installed dependencies break things. Package managers break things. Updating breaks things. Globally installed dependencies of which only one version can exist at the time are especially evil and should be crusaded against, DEUS VULT.
-
Quote:
And avoiding package managers sometimes involves creating a stub project, using a package manager, and then extracting just the DLL's that I need.
Interesting approach that I may want to borrow in the future. :thumbsup: One possible exception: How do you deal with packages (like Costura.Fody) that drill into your project and embed themselves so deeply that that they become impossible to extricate later. I always keep a version of the project sans Costura, in case I need to dump it. But it is useful if you have a multi-project solution and you want to integrate the main executable and all required DLLs into a single exe file.
Get me coffee and no one gets hurt!
Cornelius Henning wrote:
How do you deal with packages (like Costura.Fody)
I remember you were looking for something like that. Honestly, I've never used something so, um, invasive. :) Marc
Latest Article - Merkle Trees Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
Examining your posting history, it seems you post when you need us to supply you with information about how programmers do something or other. Sounds like research for business or other somewhat commercial purposes. Since you need CP users as a sample - should not your organization perhaps donate to support CP? And, of course, there's always Q&A !
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein
"If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010
W∴ Balboos wrote:
donate to support CP?
C'mon, this isn't Wikipedia. Code Project is a for-profit enterprise. That's like saying, let's donate to Sears because they are losing business to online retailers.
The difficult we do right away... ...the impossible takes slightly longer.
-
W∴ Balboos wrote:
donate to support CP?
C'mon, this isn't Wikipedia. Code Project is a for-profit enterprise. That's like saying, let's donate to Sears because they are losing business to online retailers.
The difficult we do right away... ...the impossible takes slightly longer.
I was actually going to ask that the money be sent to me but thought my chances to be upvoted would be better if I seemed loyal and selfless.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein
"If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010
-
[edit] Oh, and I completed the survey [/edit] Short answer, I avoid all package managers. I don't mind dependencies, but I want them locked down in the configuration that they initially work in, I don't want something auto-updating because there's a newer version out there, and I want to be in total control of what/when I update. And when it comes to open source dependencies, I ensure that I can build the damn source code, which more often than not fails and requires tinkering. And avoiding package managers sometimes involves creating a stub project, using a package manager, and then extracting just the DLL's that I need. For example, installing the TFS client shyte adds some 30 references to your project. All sorts of cruft. And guess what, I only need 5 of them. Package managers: X| X| X| X| X| X| X| X| X| Marc
Latest Article - Merkle Trees Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
Marc Clifton wrote:
I don't mind dependencies, but I want them locked down in the configuration that they initially work in, I don't want something auto-updating because there's a newer version out there, and I want to be in total control of what/when I update.
I agree with you on that (I commit source code of dependencies in with the code of my C++ apps where I have no packet manager) - which is why I favour [Paket for .NET dependencies](https://fsprojects.github.io/Paket/) - [it understands that you might want to lock versions of packages...](https://fsprojects.github.io/Paket/lock-file.html). Similarly, Rust (which I dabble with now and again) has a package manager, [Cargo](http://doc.crates.io/guide.html), with the same concept.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p