As has been pointed out, compile speed isn't necessarily CPU-bound and some compilation tasks are quicker on a slow machine with a faster drive. CPU performance is much less important than most people think.
Screen size is a more difficult issue, as so much depends on your development approach. I'm increasingly inclined to think that my large display may actually hinder my productivity, as it seems to facilitate distraction and procrastination. I seem to feel less bad about procrastinating if I have my text editor open. I'm giving very serious thought to replacing my 17" MBP with an 11" Air and a Kindle DX. A lot of writers use a full-screen text editor like WriteRoom, or even a typewriter, so there's a lot to be said for minimalist, low-distraction tools.
Using an Air as your main development machine seems odd to me - I want a large display so that I can read docs/papers and have emacs open at the same time. I also want good separation between screen and keyboard for maintaining decent posture. I hate to use a laptop as my main machine for exactly that reason. My main development machine doesn't get picked up and moved around enough (at all?) to be worth using a high end laptop. For the same price as the machine at the top of the page you could buy a decent desktop and a 13" Macbook and lunch, I guess.
Basically I have 4GB of RAM (on the latest MBP) and regularly run: Netbeans IDE, Safari (and a bunch of tabs), Firefox (ditto on the tabs), an FTP client, a Subversion client, iChat, Mail, a notes app, alarm clock, Dropbox, Evernote, terminal, one other text editor (MacVim or Textwrangler), Photoshop, MS Word, a clipboard app and sometimes VirtualBox running Windows XP (with 1GB of RAM assigned).
The killers seem to be Netbeans and VirtualBox. Once I have those both going I know I'm in for a reboot before too long.
I assume it's just a RAM issue but it is annoying that 4GB isn't "enough" (assuming I'm correct about why I have to reboot).
Did you check top? free? You should be able to see what's eating your machine after a few days of uptime.
Does shutting down all the applications and re-opening them help? Something's got to be eating all of your RAM, and it's hard to guess without seeing top/Activity Monitor.
Word. For me, every Mac has been instant-on for years. I open the lid or hit the power button (iMac), and the machine is up and running (from sleep) in a second or two.
I put the less "active" stuff on it, since there isn't a version of JollysFastVNC (fastest VNC client I've ever used) out for iPad yet, although I hear it's in progress.
And the startup time you mentioned, with the SSD - true. It's phenomenal. My Air starts up (and shuts down) about 5x faster than a Pro. It's almost instant-on.
The reality is that reading about 323k into memory is fast from both SSDs and rotational disks:
$ ls -lh `which gdm`
-rwxr-xr-x 1 root root 323K Sep 5 14:20 /usr/sbin/gdm
That said I don't need an optical drive and would love to shed 2.5 to 3 pounds. I'm sort of attached to my 1680x1050 display and 8gb of RAM though. A bit unsure if I'll trade my Pro in for an Air just yet.
1680x1050 is 1.75MP while 1440x900 is 1.3MP and 1366x768 is 1.05MP. Being frustrated with my old MacBook's resolution of 1280x800 1.02MP I'd probably have to get the 13" Air.
Plenty big. In any case, many sites are stuck assuming your screen is only 800px wide, or the generous ones go up to 1000px - far more narrow than the screen can support. Any wider and text flows so wide you can't easily read from line to line anyway, so all you really use is height, and everyone is used to scrolling. And vertically it's not much different than any other (widescreen) laptop.
I'd buy the 11" Air in a second if I had the money. Having the 15" MBP is handy for movies, but for almost everything else it's noticeably larger than necessary. If you really need the space, you're probably hooking your laptop up to a second monitor anyway, in which case the slightly smaller space is inconsequential.
If that's what you mean, no laptop is going to be acceptable. Laptop keyboards are crap. Laptop ergonomics are crap. Laptop expandability is crap.
If the question is, "does Ruby run on 2.13GHz dual core machines", the answer is yes.
I like to work from not-my-desk once in a while, so I have a small netbook for that. But honestly, it's so much nicer to work at a properly ergonomic workspace that I rarely do this -- only for hackathons and the like. If I am by myself, I am in front of a proper workstation.
(I also don't like the "well, just ssh from your laptop to a server" approach that others are mentioning. I can feel the latency. If I run Emacs over ssh or X to another machine, I notice the key lag. If I edit files on a remote file system, I feel the latency for operations like "git status" and even saving. Perhaps I am just very picky.)
Well, I tried the 11.6" in the Apple Store today. The keyboard is awesome. It is a full sized keyboard. There is nothing 'laptop' about it. So it is exactly what you are used to if you have been using the recent wireless keyboard.
They're what I'm comfortable with and that makes them good.
PS: I didn't down arrow you. What's with all the Redditesque down voting lately?
Seriously though, I was a big Model M fan for a while. Then I tried something newer, and could never go back.
Also, the new keyboards are less likely to cause your desk to collapse ;)
That being said, the ergonomics of using a laptop-style keyboard is usually much better when it is external than when it is connected to a computer. The thinness of the Air might change this though, haven't tried it yet.
Which model, specifically?
I have a coworker whose right pinky finger starts hurting about an hour into using a keyboard. He replaced his no-name rubber dome keyboard with a Cherry Brown-based Filco, and the problem was solved. The advantage a mechanical keyboard offers over the standard rubber-dome keyboard is that you don't have to press the key to the bottom of it's travel to make it register. This limits the force that your finger is required to transmit to something like 60g, instead of an infinite amount as you press the key against the immobile bottom of the keyboard. Less stress, less pain.
Anyway, if you do get a mechanical keyboard, just make sure to consciously avoid bottoming out for a while. If you pound on it, it will still hurt.
My desktop setup is a matias keyboard.
In my home office I have a MBP w/ a Microsoft Ergonomic Elite Keyboard w/ one 24 inch Cinema display (Apple) and one 19 inch flatscreen. I also use an Intellimouse.
As far as I can tell, that's the best of both worlds. Take the MBP on the road when you need to; stay cozy at home all the rest of the time.
And it costs more than a desktop + netbook combo.
So I'm not concerned if I can't upgrade my hardware down the road. Having everything soldered in place means I get a lighter product with fewer points of failure.
Do hardware parts really fail enough to make it worth eliminating cpu sockets, memory slots, sata, pci express, etc?
Creepage among memory chips is also possible. RAM doesn't sit as snug for the entire life of your computer. It creeps out a little bit over time and allows for dust to prevent conductivity between the chip and the slot. Having everything soldered in place is much better.
The biggest issue, though, is all the added space required for the housing. The slots, connectors, clips, etc make the product bulkier. While that's fine for a desktop it's not ideal for a mobile device.
Not sure that CPU replacement is -that- common an upgrade, even for desktops. Every few years, the latest and greatest CPUs seem to use a new socket anyways.
Only problem is that the 6-core CPUs are $1000 :)
Just because you can doesn't mean you will, in many cases.
This is my basic feeling right now, and I wrote about it in more detail here: http://jseliger.com/2008/12/26/computer-post-desktop-or-lapt... . Notice in particular the apt Lord of the Rings quote at the end.
I think laptops are (somewhat) overrated, though they might not be for you, in the plural sense.
I'm fascinated by the minimalistic concept of the Air. I don't need zillion USB/FW ports, optical drive, 500+ gigs of disk, user replaceable components (every machine will be outdated as professional tool in few years anyway). I just need good keyboard (check), wifi (check), good all-around performance without bottlenecks (SSD, check), solid construction (check) and enough screen estate (not sure if 1440x900 is enough – I would love to see 15" Air with 1680x1050 screen).
That's a nice setup you have there. :-)
I'm healthier and lots more productive on a desktop with a keyboard, mouse and large screen (all at the correct heights and distances).
In the end, I find it's more about shade than ergonomics, especially in tropical climates where you're dealing primarily with palm trees and their small cross-section. I guess your mileage may vary.
The real benefit is that I get to sit in the most comfortable seat in my home, be it a chair, sofa or bed.
Even if you use a laptop as your machine, it is best to dock the thing to a large screen, mouse, and keyboard.
I'm currently doing all of my development (iOS, web and Java) on a 2 year old 13" 2.4GHz Aluminum MacBook and it's been fine. Compared to my MacBook, the new MacBook Air has a slightly lower clock speed processor with twice as much L2 cache, an ultrafast hard disk and probably a better video chip (GeForce 320M compared to my 9400M) and a higher-resolution screen.
I say go for it.
Wil Shipley blogged a couple years ago here:
about developing his Delicious Library app on his Air. The post itself is a bit much, but there's an addendum at the bottom with some compile stats. Namely, the Air (because he got an SSD) compiled Delicious Library faster than his Macbook Pro.
But I would love to hear others' experience developing on an Air, since that's what I'm considering now, too. This Stack Overflow post:
mentions that Xcode can't autocomplete well on an old air, but I think it might be because it has a balls-slow 4200 rpm hard drive.
The only thing that concerns me is the processor. What things tax the CPU?
A few things tax the machine:
1. Streaming video, especially flash, and especially when you multitask it.
2. HDMI out. I like to plug my Air into an HDTV and stream video using VLC. Sometimes this will overheat and start skipping.
3. There is lowered responsiveness when the Air is doing a backup to Time Capsule.
4. The Ethernet is not as fast as a normal PC, which can be kind of obnoxious sometimes.
5. If I put it on the bed covers for too long it overheats and slows down. Likewise for couches and occasionally my lap.
All in all I'm happy with this setup, and I use many big apps concurrently: Photoshop, Word, Mathematica, Eclipse, lots of PDFs, iTunes, Safari, VLC, SABnzbd+, as well as many other less taxing apps like Aquamacs, EverNote, Mail.. all concurrently.
The Air has never had a problem for me running standard apps. The issues always crop up when I'm trying to watch video (esp flash) or doing large amounts of i/o either through WiFi or ethernet.
My guess is that it's not going to be any fun if you want to run an IDE. But regular text editors shouldn't cause a problem.
Will _definitely try this out. Thanks!
Granted, I still use VMWare/Parallels periodically, but my reliance has started to wane in the past 12 months.
Since I'm already accustomed to the weight, and carrying a book or too with me all the time, or my iPad... weight argument is moot.
I'd get more benefit, and it'd be cheaper... to just upgrade my current setup with a 512GB SSD, rather than going with a current model Air.
(because I wouldn't be buying anything but a fully-loaded top model)
It's too wimpy with the stock setup, imo.
I moved to a Sandforce based SSD. Night and day difference.
He's a patient guy.
It kind of depends on my working environment at any given time (lots of time on the go or sitting behind a desk with an external screen), but power will definitely not be an issue.
With a higher rez screen, greater battery, more memory & larger permanent storage, I can only imagine the new ones are even more suited to become your main development machine (and you won't be going back once you tasted it ;)
Why not use the Air?
I need a ton of RAM. I'm actually currently limited because I need to spin up VM's on my local machine (for various reasons, often to test out, say, PXE booting in a confined environment.) If I wasn't in the business of testing systems vs. software stacks, then I'd be all over the Air.
For web programming it is fine. Reddit was programmed on a 13" MacBook, after all.
If you're doing Xcode development I might still be hesitant. The rapidly upcoming Xcode 4 environment is one large window and seems to put smaller screens at a significant disadvantage. It's probably okay, but I would really want to see it running.
That's why I prefer 15/17" + external 22/24" - I would never be able to handle the small 13" just by itself.
Bigger is always nicer, but the tradeoff is that it would be a lot harder to carry my laptop with me. I prioritize mobility.
And if you don't need the window chrome, you can fit almost all of the iPad simulator onto a 1440x900 display. Enough so that its definitely usable.
The 17" is 1200 high. Which is is good for any iOS device in the emulator.
I'm an expatriate and live on the road; I'm literally never anywhere without my laptop, not even for five minutes, so the weight and form factors are critical. And I don't use my computer for entertainment, and don't care about having a DVD drive, etc. I do all my development with Flex, Dreamweaver, Dashcode and a LAMP stack, so my needs may not match those of desktop app devs. But for me it's really been ideal.
Some of the advantages of the Air include the fact that the screen resolution is better than my MacBook (but as I'm used to the MacBook resolution, it's what I currenty have, I'm sure I won't miss it)
SSD drive, but I'm thinking that that is more about headroom on my MacBook Pro. In a couple of years time when it starts to feel a bit old and slow, I'll pop in an SSD (which should be cheaper by then), and my machine will get a new lease of life.
Just as an aside, my use case is mostly centered around programming in XCode and Textmate, but this is my principal machine at home, so lots of web surfing is also done.
You are so right on video, it really needs a bigger machine.
I think the biggest difference this time (I have used a MacBook Air in the past for dev until I switched to 17" MacBook Pro) is the added option of 4gb of memory. That will really help. Also, the lack of heat right under my left arm would be a nice touch.
// do not buy the official external drive - it doesn't work on other machines
So if I want 4GB of RAM, Apple it is.
Isn't the fact the RAM isn't user-installable (true) in the MBA even more reason to buy the full boat?
I do iphone development, so I'm stuck with what apple has to offer, but if I didn't that would be my machine of choice.
Also, to the poster who wrote about the MBP vis-a-vis video...Yeah. Firewire is what's missing from this machine. I don't do any video work at all anymore so it doesn't bug me. But it would.