My 2 cents: go try out as many as you can and pick the one that you find is the easiest to use vs. features, apps and price that appeal to you.
I'm far from being a programmer, but as an IT guy who takes care of a small/medium business chain and all the evils that entails I love both the Microsoft Surface and Apple iPad. I get to set up and play with all the toys before they make their way to the users in the company, and for what I do either one works extremely well. iPads work great for working on VMs, servers, and dialing into the VPN on the road to work on issues within the company. 4G capabilities make it even easier for working from the road, as hot spotting off my phone can be difficult with the amount of calls I get per day knocking me off.
The Surface on the other hand is superb for those used to Microsoft PCs, and you can treat it exactly as such. On any given day I'm happy with either.
I will say that even though I get to use expensive things at work, for personal use I get as much performance as possible for as little money I can spend. If you can find something with good specs for 1/3 to 1/4 the price of the top of the line equipment you will end up better off IMO, as you can upgrade 3-4 times for the same cost and will end up with something that performs exponentially better by the time you get to your 3rd or 4th replacement.