Note, if you like Windows, you can create an instance that runs Windows and log in with RDP. This is particularly nice because it's dead easy to install and configure an RDP client on Linux, Windows or MacOS... Whereas getting an X-Windows installation working perfectly on a non-Unix machine is a lot of work.
I'm pretty amazed that it took Microsoft about two years to realize how much fun it is to use Windows/RDP in the cloud and they still haven't quite added this to Azure. A lot of what I like about AWS is that you can do an awful lot of things the way you're used to doing them.
That said, I mainly use Linux instances, and normally work with an ssh text console from Linux, Windows and MacOS clients. I use jedit on the client machine to edit files through sftp. Some of my instances are production instances that run 24-7, although I commission development machines and machines to run big batch jobs from time to time.