I use VirtualBox running on Windows and have just started experimenting with Linux as the host operating system (so I can run non-Intel architectures like ARM). I divide the virtual machines into three virtual disks: one 32GB for the main os and tools, one 16GB swap disk, and one (currently) 190GB /home file system that I share between various flavors/versions of Linux (Fedora and Ubuntu, mostly). I keep my home directory environment files (.bash_login, .bashrc, etc.) in git repositories on Bitbucket (free private repositories) and Gitlab (best public repo site for flexibility in structuring your project git repositories). Every once in a while I clone my /home filesystem mostly as a backup of my local clones of Bitbucket/Gitlab project repositories.
Haven't tried Docker yet, but it looks interesting, especially for setting up test environments.
Let's try Docker, you will see it's so powerful and you can change env depending of the project you work on.
I'm working on PHP 5.4 project and a Symfony Flex that require 7.2 and there's no problem switching of docker. But changing PHP version in WAMP or XAMPP isn't easy. And stop a software to launch another one is boring.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.