Did I ever say to use WAMP or run a VM? I said to run everything remotely. Just set up a Samba share on the Linux server and mount it on the Windows machine. My SSH client of choice is KiTTY[0], though there are obviously a million options out there.
Then you can use whatever editor you want. I usually use Notepad++, but Vim, Sublime Text, etc. are available.
Something I can do as well. Local vs. remote plays no role here.
> Not to mention being independent of a net connection to develop.
This is true, but seems like an edge case to me. Wifi is available pretty much everywhere you spend significant amounts of time, and a mobile hotspot is a must if you're a mobile developer anyway.
Besides, I'm always looking stuff up while coding, so I need the connection anyway.
So you have it set so one key combo from your editor saves the file you're working on, copies it to the appropriate location on the staging server automatically, and refreshes the page in the browser? That doesn't sound so bad actually; maybe I need to rethink my VM plan for Windows web dev, which turns out to be very timely for me.
[Oh, I see, you don't even keep a local copy; you edit the remote copy directly. I wonder if the Github client for Windows can watch a remote dir.]
And yes, the remote files are directly edited. There's a volume (i.e., Z:\) on my laptop that is the remote directory I've mounted. I use Samba, but you can also use NFS by installing the necessary client software from Add/Remove Programs, if that's what you prefer.
I don't know anything about the GitHub client, so I can't help you there.
I'll list my own reasons (beyond Linux "just working"):
- Unusable command line (unless you install Cygwin)
- Lack of tools (unless you install Cygwin)
- Case-insensitive filesystem (in 2012!)
- Drive letters (in 2012!)
- You can't delete open files (in 2012!)
- It's ugly - Windows 95 GUI elements often poke through everywhere
- No package management - I have to download software from sites all over the web
- If I'm deploying on Linux (or other Unix) why deliberately use the most different OS possible
Don't get me wrong. If you are developing for Windows or other Microsoft platforms, there is nothing better than Windows to develop on. It's just that it doesn't make sense in any other case.
What are the advantages? You can test all browsers, including IE.
> - It's ugly - Windows 95 GUI elements often poke through everywhere
Not in Windows 7.
> - No package management - I have to download software from sites all over the web
What sort of software are you talking about? I don't have any development tools on my local machine except for Notepad++ (text editor) and KiTTY (SSH client).
> - If I'm deploying on Linux (or other Unix) why deliberately use the most different OS possible
To the contrary, I'd say it's the most similar OS. Windows will be the OS used by the majority of your site's visitors. They will be accessing the site from a Linux server, which you will be also be using, for development.
Of course the machine is shared, but our development workspaces are not. We all have separate accounts on the staging server. The idea is that the staging environment is identical (in terms of software) to the live environment. Of course, we would have to coordinate any sort of hardware stress testing in order to get accurate results, but that's a rare edge case and would be true even if you were developing locally (since stress testing on the local machine wouldn't give useful results).
> If your development server is yours only, I fail to see the point: your real development machine is the remote one and your Windows box is nothing more than a glorified VT-100.
Oh come on, don't be obtuse. The reason I use Windows is because Windows 7 is a genuinely good OS that helps me to be productive. The UI is well-designed and I have direct access to all the various browsers I need to test sites on. I have good text editors and SSH clients. I have a solid laptop with features that I desire (easily upgradable, TrackPoint, much more durable than a MacBook). The only downside is that Windows comes filled with bloatware, but that's a matter of just installing a clean copy of it.
I never seriously tried this but I'm curious if it works:
Agree developing for *nix on windows is not great. I use a VM for that.
I think they pulled an OSX and embraced and extended to deny cygwin their market. Typical. But whatever you think about the strategy, SUA works really well.