this post was submitted on 28 Jun 2024
782 points (94.7% liked)

Programmer Humor

19453 readers
75 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

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 20 points 4 months ago (4 children)

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.

[–] [email protected] 32 points 4 months ago (2 children)

Are VMs really simpler? I'd say no.

[–] CodeBlooded 18 points 4 months ago (1 children)

I was so relieved to never need VM’s again after discovering Docker.

[–] [email protected] 20 points 4 months ago

The absurd waste of resources VMs bring.... LXC and Docker a godsend in that regard.

[–] namingthingsiseasy 14 points 4 months ago

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.

[–] PoolloverNathan 6 points 4 months ago

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.