Skip to content
Print

Is Windows Really the Best Development OS?

8
Oct
2007

I realize that the stated topic is a classic example of flame-bait, but it’s still a question which deserves some serious consideration.  Is Windows really the best OS for a developer to use?  And when I say developer, I mean someone like me who does a nice assortment of Java, Ruby, C++, etc.  Obviously, someone who does .NET is probably using Windows (see my previous post), and someone writing Objective-C applications will nine-times-out-of-ten use MacOS X.

Java’s a bet less OS specific though.  By it’s very nature, it’s cross-platform.  Not only the language itself (like C++ is cross-platform), but the compiled binaries.  I don’t have to worry about having a Mac handy to compile a snapshot of an application for my boss, I can just send him a JAR I assembled on my laptop running Vista.  In this respect, I can consider myself completely liberated from OS-level concerns.

Tools are also not really an issue.  After all, the three best Java development tools (Eclipse, NetBeans and IntelliJ, in that order) are all based on Java.  I don’t have to worry about learning a new application to do development, or concern myself with rebuilding all my settings in an unfamiliar environment.  I can setup a fresh machine running any OS with Eclipse and my favorite formatting and syntax highlighting configuration in under an hour (download time included).  In fact, I’ve availed myself of this fact many times.

So if tools and language aren’t a concern, what is?  Well, it turns out that tools really are worth examining, and I mean deeper than face-value IDE.  For example, MacOS X supports the fantastic editor TextMate.  jEdit is a worthy substitute which runs on any platform, but it’s just not as polished as TextMate.  Also worthy of consideration, and indeed a far larger issue for me, is the non-existence of a decent shell on Windows.  PowerShell isn’t bad, but I’m sorry, it’s no bash.  I had to make some (reasonably) generic changes to a set of config files on my server the other day.  Since I was on Linux, all it took was a simple for loop, a couple greps piped to sed and then back into the files, and I was home free.  If I was on Windows, it would have taken me at least ten minutes of tedious open-file, copy/paste/reshuffle, save, close, open next file, etc.  In short, Linux saved me quite a bit of time out of my day, just by having a superior shell.  Mac offers the same advantage, though its version of the GNU utils isn’t as up-to-date as my Gentoo Linux server.

Another thing to consider is space-efficiency.  I have a reasonably high-resolution screen, but even with such a dazzlingly large workspace, I hate to waste even a single 1px line.  This includes things like fonts and how legibly they render at low sizes.  I save literally inches of space in Eclipse by setting the editor font size to 10pt, and that’s just a single application.  Scaling the issue up to an entire WS just compounds both the benefits and the consequences.  In both of these areas, Windows (especially Vista) seems to excel beyond the competition.  I hate to say it, but I think Windows got something right on which Mac and Gnome (Linux) are missing the mark.  Just consider the following screenshots:

vista

gnome

Notice how even though the Vista window title bars are a bit larger, the fonts are a shade smaller.  In Gnome, I have to leave the font-size that high, because the window titles become unreadable and ugly at any lower level.  Also notice how the menu height on Gnome is significantly larger than Vista.  Even more importantly, the tab size within Eclipse is almost a third larger than the corresponding tab in Windows (due to the larger font size).  The toolbar is taller, and the fonts are just a shade larger for the same size and DPI (Consolas vs Monospace).  All in all, there are almost 20-30 pixels of height wasted in Gnome vs Windows.  Granted, Mac doesn’t waste quite as much space, but in my experience, most things are just a shade less compact than on Windows.

The larger issue I have with Mac is extreme mouse-oriented nature.  This makes it great for beginners, but even with Quicksilver, I still find myself reaching for the mouse more often than I’d like.  Gnome isn’t bad for this, having most of the same keyboard features as Windows (especially with Deskbar), but it’s just not as slick as Vista with the QuickSearch.  And yes, I do know the shortcuts for both Mac and Linux as well as I do for Windows, as I’ve been using both platforms for years.  In fact, my first computer was a Mac, and that was all I used for a long time.

So all in all, the question is: how do the pros and cons match up?  I would love to have the real shell, real gcc and real permissions system that Linux offers, but I would hate to give up the font renderer and slick power-user features of Windows.  I could go with a Mac, but the keyboard is important.  And on top of that, so many cross-platform applications just aren’t up to snuff on Mac, failing to do things “the Mac way”.

So with great disappointment, I’m afraid I’ll have to stick with Windows for the time being.  However, as my friend Lowell points out, I can just as easily build myself a second machine which runs Linux primarily.  This way, I can get all of the benefits of Linux as a primary machine, but still retaining the power and application support of Windows.  Maybe this is the best way to go.  Hopefully this will work out as the best balance overall.

Comments

  1. I’ve been asking myself this over and over again lately. I’ve used Macs on and off since the Fat Mac came out, but my home PC happened to always run Windows. The current PC is getting a little long in the tooth; meanwhile I’m now on a MacBook Pro for work, and getting much more proficient in the niceties of OS X and QuickSilver. My main development environment is Eclipse, my main language is Ruby, my main framework is Rails.

    I *do* have bash on Windows; in fact, I have a whole Cygwin setup, and that’s actually my main Ruby installation (Eclipse lets you set your interpreter path). Ruby, OTOH, is significantly slower on Windows than on Mac, for reasons nobody fully understands, which makes TDD a pain. And Cygwin, while incredibly useful, has some basic, deep-seated flaws in its DLL loading which guarantee that, every so often, you will have to rebuild your Cygwin environment.

    This is also my home computer, so I have a handful of PC-only apps that I’ve grown to rely on – MyLifeOrganized, 40tude Dialog, FeedDemon, and, yes, Outlook – which have no Mac equivalents that leave me satisfied.

    While ClearType vs. OS X sub-pixel rendering vs. Java 6 Swing is a whole mini-flame-war unto itself (pixel grid! Designer’s intent! Pixel grid! Designer’s intent!) I happen to prefer ClearType; pure or not, I like it for *me*, especially in an IDE. Mixed bold, italic and plaintext fonts look significantly better in ClearType (or thus SWT) than they do in Swing.

    My planned solution: Use the money from my latest contract to buy myself a Mac Pro 8-core. Nobody needs eight cores, so it’s perfect. Throw in a boatload of memory. Load up Parallels or VM Fusion and sticky them to a few cores for my can’t-do-without Windows XP apps, maybe Ubuntu in another virtual machine, sticky the JVM over there, and still have a few cores for native Mac stuff at full speed – and, with Leopard, resolution independence, thus solving your font problem and possibly giving nicer sub-pixel rendering.

    (Yeah, I know, stickying an application to a CPU isn’t the most efficient use of resources. And I probably won’t *actually* do it. Think of it as mental CPU allocation.)

    If you are going to stick with Windows, though, check out Launchy (http://www.launchy.net/); it’s a QuickSilver-style launcher app that’s far better than any other Windows one I’ve seen. Not nearly as powerful as QS, of course, but it does the basics.

    As for Gnome, isn’t it skinnable? You could probably spend a little time learning how to skin apps, and make some more compact default toolbars, etc.

    Jay Levitt Monday, October 8, 2007 at 4:04 am
  2. Let me see if I understood this correctly; the *nix based OSs have better shells, better tools for working with text and files, and the exact same GUI development environment (for Java, at least). They let you work efficiently, and let you give the work to the machine to do instead of manually (and tediously) doing it yourself. You’ve given an unqualified shout-out to the “slick power-user features” of Windows in the same paragraph as acknowledging that it doesn’t have the powerful features that Linux offers.

    And yet, after all that, you’re sticking with Windows because you like the fonts better? I think I might be missing something, here …

    C Monday, October 8, 2007 at 6:45 am
  3. System fonts are configured to be huge by default on Ubuntu; the GNOME default is tiny but readable (bitmap?) fonts. Every time I see the tiny fonts think “old Linux,” not new friendly Linux. (I guess that’s the idea.) I’ve set my system font size somewhere in between, and also turned on the freetype auto-hinter instead of the frozen “native” hinter that tries to look like Windows rendering (but it screws up half the alphabet in Georgia, etc.). Yeah fonts are still a mess on Linux.

    As for keyboard shortcuts, I say they are far better in Mac OS X than anywhere else. Do you really find the Ctrl key to be convenient? My pinkies are about to break after two years of all-day Ubuntu, but I’m going to be on a Mac all day soon enough. Oh my Leopard is almost here and then we will have Java 6. Golly.

    n8han Monday, October 8, 2007 at 8:01 am
  4. @ C:

    Ok, I’ll admit I have a hard time explaining it. I usually find myself more productive on Windows than Linux or Mac. There are the (surprisingly numerous) occasions when I find myself in need of a decent shell, but those aren’t enough to outweigh the general drag in my productivity. I’ve put it down as a font issue since that’s biggest difference I can think of, but it could very well be something else. As I said, I doubt that it’s just familiarity since I use all three operating systems on a regular basis and in fact did all my development on Linux for a very long time.

    @n8han

    Yeah, for most things the Ctrl key is a pain. However, think about things like word selection (Ctrl+Shift SELECT on Windows/Linux). This isn’t particularly well supported on Mac, though a lot of applications (like Eclipse) emulate it with an unnatural and ultimately useless key sequence (I forget, I think it’s something like Cmd+Opt+Shift SELECT). Also, let’s not forget that Mac has a lack of global “Finder key” (ala Meta+E). Granted, Linux lacks this too and it’s a feature of dubious usefulness to most people, but I require it’s services constantly.

    There are pros and cons on both sides (way too many cons for my tastes). I just wish one of them would really step forward and be the OS I need it to be.

    Daniel Spiewak Monday, October 8, 2007 at 10:05 am
  5. Swap your control and capslock keys.

    Will Monday, October 8, 2007 at 7:38 pm
  6. > PowerShell isn’t bad, but I’m sorry, it’s no bash

    Nope, its much more powerful. If you really think it would take siginificantly longer in PowerShell then you should perhaps learn PowerShell.

    Paul Tuesday, October 9, 2007 at 1:56 am
  7. I can’t use Windows because I’m always in the need of a good terminal plus that I’m cheap and don’t like to pay the Microsoft tax.

    I own a few macs, my development machine is a MacBook Pro (for Java) and it’s all nice and dandy except I have to wait forever to get Java 6.

    So, I think the best development machine is one with Linux on it. SUN supports Linux from the beginning and you have a nice terminal and all the IDEs you need.

    The only drawback of Linux is the hardware support (especially display) and fonts. There’s no comparison between the Windows or OSX fonts and font quality and the Linux fonts. And since we do sit all day long writing and reading stuff, that’s why I bought a Mac for example (and I assume that’s why the author selected Windows).

    Once Linux gets its act together and starts using better fonts I’ll switch forever.

    Regarding software, it’s a non-issue for me as everything I use exists under some form or another on any platform (the IDEs are crossplatform, and you have browsers and mail clients anywhere…).

    Emilian Bold Tuesday, October 9, 2007 at 4:15 am
  8. I’ve actually noticed what you’ve written about myself. For the last three releases of Ubuntu, I’ve tried to make it my primary dev box; it already serves as my primary for everything else. I’m a Java developer who’s most familiar with Eclipse but not remiss to using Netbeans either. Anyway, even in the Gutsy betas, I just find the Java development experience better under WinXP. One, the font rendering in Linux is still a turnoff (but much better than it was a scant two years ago…it’s getting there (using mlind’s (et al) patches)). The spacing is too big under gtk which to me feels ‘romper room-ish’. I’ll agree it seems very odd to swear off an OS for something as ‘insignificant’ as look-n-feel issues, but I guess I’m just one of the odd ones which desire a functional+aesthetically pleasing (to me) dev environment.

    Ubuntu also seems slower than XP on my particular machine, an AMD 64 3400 with 2GB RAM. Fedora feels faster than XP, but getting my wireless to work has been an adventure on Fedora in the past. I’ve tweaked it using the standard guides, but there is still a definite lag compared to XP on the same machine. Anyway, good article.

    Ron Tuesday, October 9, 2007 at 6:25 am
  9. I have to say, you don’t pose a very compelling argument. I can understand the font issue, which is by all means legitimate. However, you seem to not understand the capabilities of Quicksilver when it comes to defining System wide hotkeys. They are called triggers.

    For example, here is a screenshot of the global finder key you claimed was lacking (note that I use Pathfinder, although finder works exactly the same). It’s really quite customizable.

    http://myskitch.com/scott/triggers-20071009-065353/

    Scott Fleckenstein Tuesday, October 9, 2007 at 6:58 am
  10. You should check out Active State’s Komodo Edit, it’s free, runs on Mac, Linux, and Windows. Supports a ton of languages, and all of the typical IDE features, and you can optimize the layout however you’d like -> http://www.activestate.com/Products/komodo_edit/

    Matthew Minix Tuesday, October 9, 2007 at 7:20 am
  11. @Paul

    Yeah, PowerShell is pretty powerful (hence the name). I’ve seen some amazing stuff done with it. Part of its problem though is it’s less of a shell and more of an interactive programming environment (sort of like IRB and company). That’s not exactly what I want when I do shell-level operations.

    Oh, did I mention it’s also inanely slow?

    @Scott

    Yeah, I don’t think it’s a compelling argument either, that’s why every so often I talk myself into switching full-time to Linux again. Every time, I end up back on Windows for my own sanity. I hate it, but it’s the way it is. As for Mac… I don’t have too much experience with QuickSilver, which is probably why I missed the triggers function. I’ll have to look into this more closely when choosing my next platform.

    Daniel Spiewak Tuesday, October 9, 2007 at 10:40 am
  12. I suppose it depends on what you are coding for. My code is meant for large (> 16 processor) machines that don’t run Windows at all, so there is little value in me learning how to accomplish tasks in a Windows-only environment like PowerShell when the same bash script will run everywhere — or at worst require minor changes to make it run on Kornshell or Bourne shell. Also, it is much easier to write in *nix and port to Windows than the other way around, even in “platform-neutral” environments like Java. Here is my list of why I *don’t* do Windows:

    1) No virtual desktops makes organizing things very painful and encourages the use of gigantic all-in-one MDI apps like Eclipse and (shudder) VS.Net. I can just as quickly get it done with multiple CLI and Emacs windows.

    2) The Windows filesystem does nothing like the *nix filesystems. It breaks case-sensitivity (which means Java code tested only on Windows will break on *nix). You can’t easily tell who can read or write to a file from the command line. You can’t delete a file that is “in use” and replace it with another (the main reason most Windows updates require reboots).

    3) The system itself is hostile to the user in so many ways. Stealth updates, updates that break things, the seemingly arbitrary decisions about what requires Administrator rights and what doesn’t (e.g. deleting Temporary Internet Files from Explorer on XP Home requires Admin!?), WGA, UCE on Vista, random popup notifications from the taskbar, crappy 3rd-party anti-virus stuff. I just want a computer that does what I ask and no more.

    4) Most of the things *I* use everyday are a bear to use in Windows unless you have committed to Cygwin, in which case you may as well use Linux: LaTeX, bash, ksh, rsync, ssh, gcc/g++/g77, Emacs, Perl, awk, sed, grep, gnuplot, Lisp.

    5) LF vs CRLF. It would be nice if every file transfer application by default transferred in binary and Windows applications just figured out the line terminators on their own.

    Perhaps if I was being paid serious money to write for desktop boxes I would have more reason to return to the Windows platform.

    KL Tuesday, October 9, 2007 at 12:16 pm
  13. Just a sidebar, Mac’s filesystem (HFS+) also breaks case sensitivity, though it is claimed in places that it doesn’t (since it is *nix). What’s worse, is it actually breaks case sensitivity in ways which catch you off guard and can totally ruin your day (think SVN). As far as filesystems go, Linux is really the only OS I would consider. This is even further enhanced by the sheer elegance of Linux’s filesystem…er, system. Big point in favor of Linux there.

    Daniel Spiewak Tuesday, October 9, 2007 at 12:35 pm
  14. If you use Windows Server 2003 R2 or Vista, you have UNIX Services for Windows, which gives you bash. Also, JPSoft’s 4NT is a great shell.

    mp Tuesday, October 9, 2007 at 2:33 pm
  15. If you install the free SUA for Windows (which is better than cygwin), it gives you the option to activate Windows NTFS support case-sensitive filenames. I wish people researched things before they say Windows doesn’t support case-sensitive files or doesn’t support bash+GNU utilities.

    There are TONS of virtual desktop addons for Windows, such as ObjectSpace. Check out http://www.shellcity.net/ sometime.

    You can disable all the “stealth” update services. There are utilties floating around (do a google search) to perminately disable WUA etc.

    There are tons of text editors, like UltraEdit or Notepad++, which support LF, CR, CRLF formats.

    When people say they don’t like something about Windows wrt lacking features, it typically means they haven’t looked for the utilities or addons — Windows has more utilities and addons than any other OS (heck, I still use some of the NT 4.0 resource kit utilties in Vista). This is also why it is hack-prone, but for dev, it is still the best OS.

    SUA Tuesday, October 9, 2007 at 2:53 pm
  16. @SUA:

    Does the case-sensitive filename support in NTFS allow two files of different case to both exist, e.g. both “File1″ and “file1″ in the same directory? If the directory contains “file1″, will fopen(“File1″, “r”) fail? If the answer to either is no, then NTFS (and also HFS+ as noted above) does not behave as *nix filesystems do and Java code tested only on Windows/Mac can break on *nix. (Similarly, Java code tested only on *nix will break on Windows since it allows filenames containing :, ?, , *, etc.)

    Are the virtual desktop applications free, and if so do they actually work? (MS’s VDM powertoy breaks many apps including Office 97.)

    If the stealth update is easily preventable, why did it make news all over the Net last week when people who had explicitly selected no updates got updated anyway?

    Most importantly though: why should anyone who already uses particular features from *nix that work very well out of the box switch to Windows where they will have to find and/or purchase a bunch of different utilities to get the same work done?

    KL Tuesday, October 9, 2007 at 3:24 pm
  17. None of my apps have toolbars anymore. The primary UI design goal of a toolbar is to provide quicker mouse-type access to things available in the menu, so I memorize the keyboard shortcuts instead. (Whether that be like Alt+R-H-U for unsharp-mask in the Gimp, or a Ctrl+X style shortcut. And I swap Ctrl/Caps-lock, because it’s very silly down in the corner.)

    I actually think that if you have to have a toolbar to make mice fast, it means that your mouse-based menu system is broken. I am apparently in a very small minority….

    sapphirecat Friday, October 12, 2007 at 9:53 am
  18. I actually think that if you have to have a toolbar to make mice fast, it means that your mouse-based menu system is broken. I am apparently in a very small minority….

    Eh, I don’t know about that. The new Office 2007 design is entirely toolbar based, without menus of any kind. Most people (myself included) find it a vast improvement. Of course, the keyboard shortcuts still work, but you no longer have to go hunting through dozens of menus to find that one function you can’t remember how to use. Menus are inherently list-based, whereas toolbars can be much more logically organized (as the ribbon shows).

    Of course, I would never do something like the ribbon in an IDE. Thinking about it, removing the toolbars is probably a good idea and something I might do. I’ll have to play around with my Eclipse command configuration (thinks like annotations can’t be created by default with a keyboard shortcut), but it shouldn’t be too bad.

    Daniel Spiewak Friday, October 12, 2007 at 11:32 am
  19. boy, nothing about setting cursor focus to mouse or setting window behavior to not raise on a click so you can overlap windows in type in a lower window without it raising.

    also nothing about Debian based ‘apt-get’ to install/update software.

    I couldn’t live without those things.

    - greg strockbine

    Greg Strockbine Friday, October 12, 2007 at 2:40 pm
  20. The experience I made is that sometimes not the OS, but the tools it provides are important. Also, the customer is an important player in the question: Which OS to use? (escpecially if you need to do the help desk stuff beside development)

    I have to work with Windows, having the GNU Unix Utilities installed. The development happens within Eclipse as well as UltraEdit (and its damn fast performance on “Searching in Files …”).

    Some pople I’m in touch swear on virtualization. Of course, this can be an alternative if you got a state of the art machine with enough processing, a bunch of memory and a monitor big enough to handle the running VMs in paralell. Now put this into a notebook and you’re happy.

    Alex Haselsberger Sunday, March 2, 2008 at 1:41 pm
  21. I’ve only been able to be productive on Windows when I customized the hell out of my context menus and using a bunch of 3rd party apps for shortcuts and such (Launchy, etc).

    In defending Windows, XP and lower were just plain garbage to develop on. The one workspace limit really got to me and was a major pain to deal with. Thankfully, Deskwin exists which lets you use multiple workspaces on XP. Vista probably doesn’t have this problem, but I haven’t tried.

    In regards to fonts, I think OS X takes the cake, and Vista comes in second. Linux’ font support has never really been its winning card, but if you hack around, you *can* get your fonts the way you want. For example, you can install msttcorefonts which will let you use ‘real’ Windows fonts on Linux, instead of the (crappy) alternatives. Fonts are nearly 10x smoother and more sleek with this on.

    Actually on an LCD w/ anti-aliasing turned up, I’d say Linux fonts are no longer much of an issue.

    I prefer Linux for developing because I feel that’s what it’s made for. All the tools are there, and if not, I can get them in 2 minutes (literally) using apt-get. I’m no longer searching Google or installing apps from CDs, and I don’t rely on 100 third party apps for productivity. Memory is handled better in Linux so I can have 8 desktops with a game running in one, my chat/music stuff running in another, countless Firefox windows open and 2-3 workspaces just for my development tools and editors.

    Integration between the tools and the ability to piece-together applications to create a “new app” is a necessity to me. I know you can use Windows’ terrible Batch script, but commandline on Windows is worthless. The whole “every app can do 100 things” idea in Windows sucks. In Linux, 1 app can only the thing it’s meant to do, and it does it particularly well. (The only exception is probably Aptitude, which lets you play Minesweeper :)

    Due to the nature of open source, there are _countless_ productivity and development tools, plugins and patches written by different people, for different people. There are Compiz plugins that help you concentrate, for instance, and desktop plugins that will smartly organize your windows, group them, tab them, start them on their own layer, etc. Not to mention apps like Devilspie which gives you complete control over your desktop.

    There, that was the word. Control! On Linux I feel in control. I did too in Windows, but it wasn’t the same. Windows is like a horse. You can control it fairly well and it’s predictable, but not as much as, say, a manual transmission car (Linux), which is more work, but doesn’t offer any surprises.

    It’s a deep sense of control. The small things I guess.. the fact that I can resize individual icons on my desktop, no worries about spyware/viruses/etc, the fact that if I can’t do something one way, Linux offers 100 other ways to do it, the fact that I can use the commandline to do some VERY powerful processing (sed and awk for instance). Working remotely is also superior on Linux, and so is having multiple users on the same machine, and the system is secure by nature.

    Jake Lewis Wednesday, July 9, 2008 at 6:10 am
  22. If you want BASH on windows, just install Cygwin!

    SteveHiggins Monday, July 14, 2008 at 9:26 am
  23. yes, okay, you can get Bash by installing Cygwin,
    Now what about ‘apt-get’? That’s the killer Debian
    Linux command that makes Linux the best platform
    for software development.

    Greg Strockbine Monday, July 14, 2008 at 9:51 am
  24. I very rarely use apt-get, since a lot of the stuff I do either doesn’t install properly through apt (think: Eclipse, Tomcat, Ant, Maven2, etc) or doesn’t have all of the nice version options (think: Java 6uN). On the flip side, installing apps and systems by hand on Linux is far easier and more reliable than on Windows.

    Daniel Spiewak Monday, July 14, 2008 at 10:04 am
  25. Alternatively you can also solve this problem the way I did… look at the third screenshot down: some of my changes work on all platforms, others are specific to Mac OS, but all of them are isolated inside a plugin.

    http://blog.laurentm.com/2008/07/making-swt-look-more-native-on-mac-os/

    Laurent Mihalkovic Sunday, July 20, 2008 at 12:42 pm
  26. this is the third or fourth time I’m replying to this post. I’m on a new job now and management has decided that winXP should be the development platform for our vxWorks cross compiler. In my previous job the development environment was Sun Solaris. I keep a Linux machine at work and I run Linux at home.

    My first task at the new job was to pick a version control system and had to be open source, because there was no money in the budget. I picked Mercurial, it has plug-ins for Windows Explorer and Visual Studio. A lot of my opinion is based on my experience of trying to setup an http server on winXP for Mercurial.

    I can unequivocally now say that winXP blows as a development environment. The basic winXP machine has no programming tools. Remember this is the OS that most of the world uses. This is the OS the computer illiterate use.

    I had to load up the machine with unix programming tools via Cygwin. I had to bring in other tools from various sources. The result feels like a hodge podge. No central repository of tools like in a Linux distribution. Still things just don’t flow right. Do I use a forward or backward slash in file paths while I’m in bash? What are these drive letters? How do I make the dog go away when I’m searching? Reminders every where that this is the preferred OS of my computer illiterate mother-in-law.

    Now I suppose if you fork over the cash and buy the whole MS tool chain you will have a very nice experience. But I have never worked at a place that could afford to buy it all.

    Plus I can’t set the window focus the way I do in Linux. It is not an option in MS? What am I talking about? I like to have emacs running in a small xterm window sitting right in the middle of a browser window. I want to keep my emacs on top, yet be able to scroll the browser window by clicking on the scroll arrows without the browser window rising and then obscuring my emacs. I don’t want to have to install some litty bitty program that lets me keep emacs always on top. And there are an awful lot of those itty bitty programs to take care of all these little cases.

    Sorry for the rant. I really am trying to make a go of it with winXP, and I will have to since that is what work has chosen for me. I really don’t see the allure of this OS. The one thing that screams out from winXP is that it is a commercial OS and the doorway to spending lots of money for applications. It is a corporate OS. A product. And corporations in general are only concerned with the bottom line.

    I guess I’ve been using Open Source too long. Once I discovered unix back in 1984 I’ve been open source. It wasn’t even called open source back then. It was just the community sharing.
    - Greg

    Greg Strockbine Friday, November 21, 2008 at 1:33 pm
  27. My experience (mostly C/C++) – just an old (2007, 4GB RAM) MacBook with Xcode/Eclipse and Vista32, Windows XP 64, Windows 2000 in VMware Fusion (with VS2005/2008/Eclipse), if you can make your code execute with extensive test cases in all configurations, you are pretty much done, even VxWorks port does not look like a big pain.

    alex Tuesday, April 28, 2009 at 5:55 am
  28. I’ve been developing in C++ for vxworks on winXP since Oct, 2008. Previously I only ever did development on Suns and Linux at home.

    At first I was wowed by the flashy GUI interface of winXP, now after having used it for a few months I can sum up the winXP experience as “trashy”. Visual Studio is nice, but not all that when it comes to C++. I heard it supports C# much better, since it is part of MS’ agenda. I find myself using Netbeans when I have to search around in the code.

    I use the Cygwin tools, emacs, and xemacs and it is a mess. You end up with a hodge podge of tools gathered from all over the net, with no central,unifying repository like in Linux. How do you do security updates on such a system?

    The forward slash/backward slash is a royal pain. The little DOS shell window is a joke. Every where I keep bumping into limits that only remind me that this is the OS that the computer illiterates use. For god sakes, the guy who runs the store where I buy my water loves winXP and tells me the war is over, MS won with winXP.

    I get so frustrated with the MS window manager I have to get up and walk away from my computer sometimes. I like to overlap my windows and be able to scroll the lower window without it raising to the top. I do this all the time in Linux, it has become part of my work style. The only way you can do that in winXP is to install some bolt on utility that assigns a specific window to always be on top. Not exactly what I want.

    After my second time of having to log out just to rename a directory because the “resource is busy” confirms that this is not the OS for programmers.

    I don’t understand what the big love affair with MS is all about. I put win95 on my first home computer and attempted to learn web programming. It was a nightmare of constant reboots. When the win98 beta came out, I couldn’t wait to install it, but It was no better. In desperation I installed FreeBSD and things were much, much better for programming. Then I moved on to Linux and a feeling of freedom washed over me.
    - Greg Strockbine

    Greg Strockbine Tuesday, April 28, 2009 at 10:55 am
  29. I have only one sacraficial notebook with a Windows partition on it. I do all of my real computing on OpenVMS. As a desktop OS I tend to toggle between OpenSuSE and KUbuntu. Both need a lot more help, but they are getting better. I haven’t found a “favorite” editor yet. Back when I did a lot of OS/2 work I licensed both MED and EditPlus/2. Those licenses still exist on the sacraficial Windows partition, but aren’t used so much.

    On OpenVMS I use LSE because it is the best editor on the platform. Sometimes I have to use EVE if the client site didn’t purchase DECSet.

    I have been focusing on cross platform editors now. While I have used Eclipse when doing STAR XML work, that is not an editor. It carries an awful lot of baggage which seems to be getting worse.

    The current batch of cross platform editors I’ve been using are:

    SciTE
    Cream
    MadEdit
    jEdit

    I have other editors installed, but don’t use them that much. I was falling in love with Kate on KUbuntu, but the Windows version of Kate never actually came to pass. No, I won’t install CgyWin just to get an editor. I have four editors up here that don’t require much priv to install.

    On the Windows platform I’ve been trying to use the editors listed above, but have also been known to use:

    Context
    Crimson

    and one other editor, but the name escapes me. I only have to boot that partition a couple of times per year now. Some day soon, I hope never.

    I work on real computers writing real business apps though, so my needed tools will be different than many here. On any given day I can be writing DEC BASIC, COBOL, FORTRAN, DCL, C/C++, SQLMOD, Pro*C, Cognos PowerHouse, Datatrieve, or even DIBOL. When I write Java it is usually for one of my books or my own edification. I have never had a client actually pay for or request Java development. Some of my clients are regular businesses, but most are in that niche of “every transaction must have guarranteed delivery AND execution from the nan-second it hits the commLine, no matter what fails”.

    As a desktop KUbuntu or OpenSuSE are quite adequate. I write most of my books using either Symphony or OpenOffice. As a back end, in my world, there is only one choice. The following article does a pretty good job of explaining why.

    http://features.techworld.com/operating-systems/1001/openvms-survives-and-thrives/

    Roland Hughes Tuesday, August 18, 2009 at 10:37 am
  30. I really can’t stand working on Windows. As I write this, I’m working on Mac and Windows simultaneously, because one is my main machine (the Mac) and the other I use to co-develop and test a Windows application, and seriously, the Windows (7) one has random application crashes, sudden slowness, Linux tools kind of work, but never quite, not to mention the application we’re developing itself having a bunch of awful issues that really Direct3D should’ve taken care of but somehow didn’t. Bottom line, if I can, I’m happy to stay away from Windows as far as I can. I’m fine with Linux, but sensitive to nice UIs, so Mac is definitively my winner.

    Eelco Hillenius Friday, September 24, 2010 at 5:08 pm
  31. It has now been about 2 years that I have used winXP for the development environment for an embedded system that runs on vxworks. Before this, I worked for about 20 years on Suns.

    I can unequivocally say that winXP blows as a development environment. I learned the much touted Visual Studio, we used it for C++ development. I can’t stand it. I also learned Netbeans on this job and I use that instead.

    Thank god for the cygwin Unix tools, but not everything is real smooth with them.

    After working on Sun OS for so long, MS products seem like a toy.

    Greg Strockbine Friday, September 24, 2010 at 10:57 pm
  32. I’ve been developing for years….C# C++ HTML Python…the list goes on…I love Linux but it’s not a programming OS i can say the same for Apple. Windows is just simple. Simple to install programming applications. Period…It’s always a hassle with Linux an Wine’s BS. Windows is the Alpha programming and development OS period. All the best software is written for it. I once tried to install Notepad++ on Linux….Nightmare trying to get in to launch in Firefox and Safari…Further more I actually only use my Windows PC for programming. I use my Linux for every thing else.

    Allen Saturday, December 24, 2011 at 6:20 pm
  33. Craziest thing I read in a while, Allen :-) To me, the reason for switching to OSX is that coding on it is so much better, and that includes the tools available on it.

    Eelco Sunday, January 1, 2012 at 4:53 pm

Post a Comment

Comments are automatically formatted. Markup are either stripped or will cause large blocks of text to be eaten, depending on the phase of the moon. Code snippets should be wrapped in <pre>...</pre> tags. Indentation within pre tags will be preserved, and most instances of "<" and ">" will work without a problem.

Please note that first-time commenters are moderated, so don't panic if your comment doesn't appear immediately.

*
*