With the exception of XCode, any Intel Mac should handle the tasks you listed. XCode is a bit of a special case. Apple seems to be doing this now:
Users of the current OS (right now Lion, soon to be Mountain Lion), will get access to the newest versions of XCode for free in the App Store.
Users of the previous version of the OS (Snow Leopard right now, Lion soon), get access to similar versions, lagging by a few minor revisions, IF they're a $99/year paid developer.
For example: App Store currently has XCode 4.3.3 for Lion for free. Paid developers also have access to Xcode 4.4 and 4.5 developer previews for Lion and Mountain Lion through the Apple developer site.
Paid developers can also get 4.2 for Snow Leopard (likely the last SL version) through the Apple developer site. Make of that what you will.
A huge amount of 3rd-party apps, and many of Apple's own apps still support Snow Leopard, though a lot of them have dropped support for 32-bit processors. So you'll see OS X 10.6.8 or newer, 64-bit processor required
often. That said, the machine you mention has a 64-bit chip and should run those apps on SL. And Lion costs just $30 in the App Store.
A few other notes:
Given the specs, it's definitely a MacBook 4,1.
From my experience with lesser hardware (Core 2 Duo with the Intel GMA 950 graphics), this should run Lion well once you give it enough RAM. Because the machine you mention has the Intel GMA X3100 though, it WON'T be able to run Mountain Lion at all.
You can actually get up to 6GB memory if you need to on this machine. Apple only officially supports 4GB, but users have reported a 4GB + 2GB combination working. Of course, you will sacrifice some memory bandwidth since dual-channel mode gets turned off when you have dissimilar sizes of modules installed. The most significant effect this will have is on graphics performance since the graphics chip shares main memory.
These plastic MacBooks are actually among the easiest Macs to upgrade and repair. Much MORE maintenable than the current models (except maybe the non-Retina Pros). With a couple standard tools you can upgrade the RAM and hard drive easily and safely. With a bit more time and care you can swap the optical drive out for an SSD, repair the screen, speakers keyboard etc. Parts for these are readily available on eBay and sites like http://www.ifixit.com
At home we have 3 of these non-unibody polycarbonate MacBooks which I take care of, and are still in daily use; a 2006, a 2007, and a 2009. We've broken speakers, keyboards and screen bezels, all of which I changed myself. The 2006 had a faulty inverter which cost me about $10 and half hour to fix. Of course, RAM and hard drives have been upgraded over time, and we've worn out a few batteries. This sounds like a lot, but when you work the total cost of ownership, these MacBooks have been VERY cost-effective.
My suggestions:
You really want Mountain Lion. Don't count on Apple to support apps and updates for Lion past mid-2013. This is especially true if you plan on developing anything using XCode.
If you really wan't portability, try to get the MacBook 5,2 instead. That's the 2009 (non-unibody plastic) one I use. It's Mountain Lion compatible, so you should get at least two years of life out of it.
If portability isn't an issue, definitely go with the current MacMini. You'll put out a bit more cash, but have much more power available, and get a longer useful life (~3-4 years).
The current MacBook Air, despite it's lack of upgradeability is an excellent choice for a portable machine. If I were buying a laptop right now, I'd get the 13" Air with the 8GB RAM upgrade without hesitation.
If you just want to dip your toes in the Mac pool I wouldn't hesitate to get any Mac. Even older machines, which can't run the current OS, maintain good resale value. I wouldn't get anything that isn't capable of at least 64-bit Lion though.
Whatever machine you get, if the OS does nothing for you, worst-case is that you end up reselling the machine at a slight loss. Just be mindful of the limitations if you buy a used machine with an older OS version installed.
Good luck!