1. Look for cheaper Linux laptops from Dell or HP. I get the feeling that the laptop as we know it is going to change significantly within the next couple of years, at the very least with solid-state hard drives, so why bother with a top-of-the-line machine right now? And, you'll probably be making a lot more money once you're out of school, so you'll be tempted to splurge then anyway.
2. Get one of these newfangled ultra-portables like the Asus eeePC or Everex Cloudbook. (I've been eying the Cloudbook myself.) If this programming thing becomes a habit for you then you might also develop the habit of collecting computers. In that case you could have a "serious" (but still semi-cheap) desktop computer at home, with a decent-sized display and hard drive, do most of your work on it, and also use it as a server of some sort in your home. The ultra-portable would be for, ya know, laptop stuff.
(Disclaimer: I'm laughably frugal, and my company also supplies me with a real laptop -- a Thinkpad R61 -- which I like.)
[0] iBooks seem to break the BGAs on their video chips a lot anyway, but I don't think any new Apples have that problem.