Comment by photonthug
Comment by photonthug 3 days ago
All development is text files, that is missing the point. The development environment is a system, and a pretty complicated one too. It matters where the files are, what's in them, and how they interact. Things change together instead of staying isolated, you add more pieces over time, and even more things need to change together. Anyone who likes text-files more than click-to-configure UIs for tools, will probably like containers more than text files for systems, and for all the same reasons.
Your choices to reproduce complex systems are basically to 1) deny that complexity exists and accept any corresponding limitations in your working environment, 2) follow some error-prone multistep processes to reproduce existing system setup manually, 3) commit to centralizing all development on external cloud platforms, or 4) do something else to bundle together a setup that's repeatable.
I'm strongly in favor of (4) here, and while I'd probably disagree that it requires VMs instead of docker, the goal of repeatable processes is so important that hey, whatever works. It sounds like you're in camp 1 or 2?
> The development environment is a system, and a pretty complicated one too.
It's also partly personal. I also like to use isolated environments, mostly because I tinker with different technologies, and over times, it becomes a mess on my machine.
But I still like my git config, my editor and other tooling that I have to assist in my tasks. And it's not worth it to replicate it over to other people's setup. And neither I want their things.