Monday, July 16, 2007

New Computer, O/S, Compiler

I got my first notebook computer recently, as my wife was getting tired of sharing our desktop PC. (She will tell you that it's because she is trying to cut down on the number of hours a day I sit at a desk.) It's a ThinkPad, and it came with Windows Vista. As a result, I've been spending my time doing the busy-work you have to do whenever you change anything, in order to be able to get back to doing real work.

The version of Developer Studio that I've been using is pretty old by now, so I also decided to try out Visual C++ Express, the free version that's available now. Unfortunately free means it's not as easy to get running, but without too much trouble I got the Platform and DirectX SDKs installed, and I'm able to compile my DirectX applications. Getting GLUT working was relatively simple, after I figured out how to get around Microsoft's new protections on the Program Files directory subtree. My ATL/WTL apps are still not quite compiling; I'll have to figure that out later. MFC is also not included by default, although it appears to be in the Platform SDK so there's probably some voodoo I can do to get it working. I don't use it any more but some of my old programs were written using it.

Windows Vista is slightly hostile to software developers; by trying to make life harder for malicious software developers they ended up making it harder for all legitimate ones, too. Every time I launch Developer Studio I have to click through a dialog. As we all know, making people click through dialogs is a sure way to get them to pay attention.

The Program Files directory subtree is now read-only, although that fact is not made visible in the file or directory attributes. You can open a file from there in Notepad, edit it (as the Dev Studio Express directions tell you to), but when you try to save you get a very non-obvious error message. I wound up copying the files I needed to edit out to a different directory, then copying them back in once I'd made the changes.

I can't seem to double-click on a solution to launch Developer Studio; I don't know if that's related to the security stuff in Vista. Also, the new version of Developer Studio no longer allows me to drag files onto it for editing. Maybe that's a way of crippling the free version. I miss it a lot.

I'm considering switching to Jam for making projects instead of using Developer Studio's built-in system. It is extraordinarily tedious to make new projects using Developer Studio. For some incredibly dumb reason they use GUIDs in their project files, which means you can't just copy and modify an existing project file to create a new one (without editing all the GUIDs as well). We had a giant situation with that at work where half our project files all had the same GUIDs.

I've used Jam before. On the plus side, it's incredibly fast and the source code is freely available. It's the tool of choice for the Boost project. On the minus side, its syntax is about as idiosyncratic as that of most other make tools, and it doesn't seem like it gets really wide use. I still haven't determined if the new version of Developer Studio is faster than the last one I was using, which took about a second to determine that there was nothing to build in a project. When you have a solution consisting of 20-30 projects, that sucks a lot of time out of your day.

The computer itself seems reasonable. ThinkPads are tough; I was grateful for that when my baby girl stood on the closed computer within minutes after it was unpacked. LCD manufacturers are forcing notebook computers to go with widescreen aspect ratios; I'm guessing this is so they can manufacture the same LCD screens for HDTVs and computers. Resolution is one area that I have been making backward progress in over the years. I used to have a nice 21-inch CRT with 1600x1200. Then I switched to a 19-inch LCD monitor that could only do 1280x1024. Now I'm on a notebook computer with only 1440x990. The number of lines of code that I can see at once is a lot less.

No comments: