Being in the wilderness as I have, as a canoe trip leader, helps you adapt to uncomfortable situations. Recently, I was put into a less than desirable situation, programming in Windows. I thought it would be a good idea to learn how to survive on the dark side. I started with a stock Windows XP install, with all the fancy development tools, Visual Studio, WinDDK, sample code for Win32 programming, and a (relatively) open mind. As I started using it, the following became major annoyances:
- The command line (cmd.exe) is horrible, not full screen, the history is bad, and it’s just plain ugly.
- Visual Studio is a waste of space, it doesn’t even provide the ability to compile a file. That alone made me get rid of it.
- The lack of multiple desktops make screen real estate very limited. Even with a sizable screen (27″) is makes looking up references a pain
So, to fix some of these woes, I did away with Visual Studio, edited the console preferences to take up much of the screen, and installed emacs, I then wrote some batch scripts which I put in the PATH to enable me to just type emacs foo.c, and ls instead of dir.
Now, I finally have a system that I can work with, it’s not great, but I’ll survive. Unforntunatly, developing on Windows is much like trying to glue a dead weasel onto a balloon — non-sensical and smelly. From my short exposure to the Windows system, I’ve found the following lacking:
- The kernel memory layout
- The poorly documented API
- Lots of caps, and non-standard types, it’s like programming in old HTML.
- The verbose and utterly convoluted device communications (IRPs?)
- Complete lack of modularity (if my driver segmentation faults, I get a BSOD)
To sum it up, while it’s been an informative foray into the world of Windows, I think I’ll stick to slightly more sane and open operating systems.
Peace and chow,