this post was submitted on 28 Jun 2024
783 points (94.7% liked)
Programmer Humor
19652 readers
2305 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
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
Why does this feel like it’s a flat-earth slide? I haven’t looked at any flat-earth propaganda, but I strongly suspect that it looks a lot like this.
That said, I’ll stick with my VMs regardless. I like simplicity.
https://knowyourmeme.com/memes/stop-doing-math
Are VMs really simpler? I'd say no.
I was so relieved to never need VM’s again after discovering Docker.
The absurd waste of resources VMs bring.... LXC and Docker a godsend in that regard.
I would vote for docker as well. The last time I had to inherit a system that ran on virtual machines, it was quite a pain to figure out how the software was installed, what was where in the file system, and where all the configuration was coming from. Replicating that setup took months of preparation.
By contrast, with Docker, all your setup is documented. The commands that were used to install our software into the virtual machines and were long gone are present right there in the Docker file. And building the code? An even bigger win for Docker. In the VM project, the build environment for the C++ portion of our codebase was configured by about a dozen environment variables, none of which were documented. If it were built in Docker, all the necessary environment variables would have been right there in the build environment. Not to mention the build commands themselves would be there too, whereas with VMs, we would often have developers build locally and then copy it into the VM, which was terrible for reproducibility and onboarding new developers.
That said, this all comes down to execution - a well-managed VM system can easily be much better than a poorly managed Docker system. But in general, I feel that Docker tends to be easier to work with than a VM. While Docker is far from flawless, there are a lot more things that can make life harder with VMs, at least from my experience.
https://knowyourmeme.com/memes/stop-doing-math
Nix has flakes;
nix run
can contain pretty much all of the needed dependencies. If that's not enough, you can set up an entire container as a module.