Is the Surface Pro 2 practical for my use case?

I've been thinking about getting a new laptop for school, and I'm intrigued by the balance of portability, power, and battery life that the Surface Pro 2 offers, especially with the recent update that boosted battery life. However, I'm not so sure if it's practical for my specific use case.

Mostly, it seems like the device would be great for school (typing up essays, surfing the web, etc). I was hoping they'd shave off a couple millimeters and grams with the second model, but I guess we'll have to wait for the Broadwell version for that. It's not a deal breaker. What I am concerned about is how it would handle the main chunk of my classwork: programming. I'm a Comp Sci major, and ideally I'd like to be able to use Visual Studio on it. Obviously I'd get the Type Cover for that, and I imagine the i5 would have no trouble keeping up. The main issue I'm concerned with is the size. Is 10.6 inches just too small for doing this kind of work? I mean, I'll probably be getting most of my coding done on my desktop like I do now, but I'd definitely like it to code on it while I'm on-the-go or at school/class. Could anyone tell me how useful the Surface Pro 2 is for programming work? Is it just too cramped, or have you gotten used to the small screen? Otherwise I'll probably get a Macbook Air/Pro or an Asus Zenbook Infinity.