3 ms·
Windows can be a good platform for developing software, as long as you're using IDEs to develop applications targeted at Windows machines. For example, Visual S
by RyanMcGreal 17y ago
Windows can be a good platform for developing software, as long as you're using IDEs to develop applications targeted at Windows machines. For example, Visual Studio + SQL Server is just fine for building .Net applications that run on Windows.
For everything else - and "everything else" includes large swaths of lucrative, profitable programming activities, including something like two-thirds of the internet - Windows is simply excruciating. I'm not exaggerating; after spending the past year or so developing on Ubuntu, I don't know how I managed to get anything done before.
The Windows command line is minimally usable (I have to right-click on the window frame to pull up a context menu that provides select/copy/paste functionality? Really?) and its language is minimally powerful (I understand powershell improves significantly on this).
Unless you're moving files around a Windows network, in which you can map drives in Explorer, such basic network things as FTP/SFTP require clumsy third-party GUI applications and your choice of FOSS options is severely limited. SSH requires a clunky third-party tool like PuTTY or a Posix emulator like Cygwin.
Native support for open source database servers like MySQL, Postgres, and SQLite is dodgy at best and requires bolted-on interfaces. More exotic, innovative database systems are generally out of the question altogether.
Some programming languages, like Python, are reasonably cross-platform (though in the case of Python you're still stuck with a choice between using the crappy Windows command line or the slightly-less-crappy IDLE IDE built in non-native Tkinter), while others are much harder to get working.
Java is fully cross-platform and has IDEs that work as well on Windows as any platform, but there's no particular reason to develop Java on Windows rather than another OS.
It's true that installing Cygwin makes a lot of the deficiencies of Windows go away - but that's by emulating a Posix environment such as you'd find natively on Linux or OSX, which is kind of the point about Posix being generally a much better platform for programming than Windows.