I actually decided to try tiling because using heavy applications like IDEs was annoying in floating WMs - it was a constant stream of interrupting work to go to the window list in the taskbar or alt-tabbing 'X' number of times to go back to that other window.
Virtual desktops solve these problems effectively if the shortcuts are set up properly (not ctrl-alt-1/2/3/4 and ctrl-alt-arrowkeys, which iirc has been the default for a while). When I am programming I have one workspace with just one terminal running vim split into a 3x3 grid of files. Next to it is a workspace with a terminal and Firefox running side-by-side - terminal to compile/run and FF for documentation. Below and diagonal to the the vim workspace accumulates whatever else I'm needing at the time - file explorers, terminals, browsers, GIMP, etc. Switching between these workspaces is easier than alt-tabbing (meta+WASD - only one finger needs to move, and also meta + the 4x4 grid on the keyboard mapped one key to each workspace for long-distance moves).
Minimizing is accomplished by moving it to another workspace: meta+alt+WASD.
The only real issue is drag-n-drop, which requires the sequence of: float the window => move it to the other workspace => drag-n-drop => move it back to the initial workspace => unfloat.
Virtual desktops solve these problems effectively if the shortcuts are set up properly (not ctrl-alt-1/2/3/4 and ctrl-alt-arrowkeys, which iirc has been the default for a while). When I am programming I have one workspace with just one terminal running vim split into a 3x3 grid of files. Next to it is a workspace with a terminal and Firefox running side-by-side - terminal to compile/run and FF for documentation. Below and diagonal to the the vim workspace accumulates whatever else I'm needing at the time - file explorers, terminals, browsers, GIMP, etc. Switching between these workspaces is easier than alt-tabbing (meta+WASD - only one finger needs to move, and also meta + the 4x4 grid on the keyboard mapped one key to each workspace for long-distance moves).
Minimizing is accomplished by moving it to another workspace: meta+alt+WASD.
The only real issue is drag-n-drop, which requires the sequence of: float the window => move it to the other workspace => drag-n-drop => move it back to the initial workspace => unfloat.