DEV Community

Discussion on: Is linux good enough for everyday programming?

Collapse
 
darkain profile image
Vincent Milum Jr

The way I've done web development for the past 15ish years.

I treat my desktop like a dumb terminal in those regards. My desktop runs whatever OS I happen to be running, and Sublime Text. Then I have a network share into a central file server to actually store the code I'm working on, so I'm always 100% working with a remote copy of the code, nothing is ever local.

Then, I have a whole fleet of VMs on various servers accessing that exact same file share. These different VMs handle unit testing, compatibility testing, and the like.

For instance, one of the main things I was developing was a set of PHP libraries and a core framework. I had different VMs built out for various PHP versions and OSes to ensure compatibility. This was significantly faster than doing docker/containers, as these were all persistent VMs that never shut down. I could get feedback on any one of them doing the entire unit testing suite in under 1s.

All of that code today still works perfectly on PHP 5.4 through 7.4. And yes, I actively maintain EOLed PHP versions. The libraries in question help modernize legacy applications, so they can be integrated while still operating on older installs, and then once the codebase is ready, be pushed to a modern PHP version.

And yet, to circle back around, nothing was tied to the desktop. What ever machine I just happened to be on, would work. Also, another tidbit. My SSH key is managed through a Yubikey, so I even take that with me anywhere I go. I would frequently find myself at a friend's house working on projects with them, and could hop on their dev machines, have full access to my code, and do git commits without worrying about security. This level of mobility is absolutely amazing.