Most multi-monitor users I've seen don't sit 6 feet from their cluster of monitors to allow them simultaneous (non-peripheral) viewing of multiple monitors. On the other hand, I can switch between two virtual desktops in a fraction of a second.
The only time a second monitor, IMHO, is an improvement over a virtual desktop is when you can use your peripheral vision to monitor some live
Of course, most Windows users (even developers) are so glued to their mice, that switching desktops would be a time-consuming issue.
As for the comparison to "tabbing between windows", I find that ridiculous. Perhaps inflammatory (apologies...), but I really do. It presupposes a complete "Microsoft Windows" view of the world, where every application runs in exactly one window and all windows are inherently either maximized are minimized. It's not uncommon to see Linux developers have a multitude of windows open and visible at the same time.
You can't easily "tab between" groups of specifically positioned and sized windows. (Note, I said *easily*).
My opinion is this is largely a consequence of how the Maximize functionality works / has worked.
My money is on the complete lack of virtual desktops on Microsoft's platform.
Yes, there are third party apps that add the capability, but I don't know a single Windows developer who uses them. On the other hand, I don't know a single Linux developer who DOESN'T use them... (now watch Slashdot provide countless counter examples).
Developing on a system without virtual desktops *or* a second (at least) monitor is a huge pain in the ass.
Then it's a good thing Wayland can host X. It would require some (reportedly) minor adjustments to X, but it would be transparent to individual applications.
Wayland is a display server, like X. Why wouldn't it be possible to forward Wayland over SSH?
Any given program will expand to fill available memory.