In terms of overall power - the ability to meet user demands - a MacBook Air is a very capable system. Whilst it does have limitations, those are typically in the compromises that have been necessary in order to keep the system thin and light. Unfortunately, one of those compromises may prove problematic to you because part of what you plan to use it for is for Flash content. Flash is relatively ineffcient and pushes the processor hard, meaning that it heats up, which the MBA can cope with, but also that the fan will run up to high speed, which is very noisy.
Flash will have a similar impact on any other mac too, but with somewhet less fan activity since in other systems there's more internal space for heat dissipation and cooling. You could reduce the potential problem by using a cooling pad to rest the MBA on (and there's no vents underneath to worry about blocking) but this is a factor you would need to consider.
I can't speak to the programming aspect of your question because that's not an area in which I work, but my 11" MBA is used extensively for video and photo editing and QuickTime video playback (QT is not a problem to the CPU), web design and editing work and for a range of other common functions such as web browsing, document production and layout and it works nicely.
If you needed to run Windows, it can be done without problem using Boot Camp or as a virtual machine, and the MBA has power enough for both.
Whichever MBA you are looking at, you'll probably need 4Gb RAM rather than 2 (and all but the base model has 4Gb anyway). The MacBook Pro would be a better bet considering your interest in Flash playback, and it has much more horsepower, a wider variety of ports and an optical drive, so unless you were genuinely in need of, or benefit from, an ultra portable that would probably be my choice. That said, when I went to the store to buy a 13" MacBook Pro, I came back with an 11" MacBook Air because it did everything I needed it to. Thin and light doesn't mean it lacks capabilities.
Thanks for that, so your saying that the cheaper MacBook Air would be able to handle pretty much everything easily except flash, which to be honest is not that important at all, even have 2 OS's on one machine? Looks like I'm getting a MacBook Air then
Oh and one more thing, are the MacBook Airs durable? I would want it to be lasting at least 2 years or so, and they look somewhat fragile?
Aside from Flash, which the MBA will certainly handle but under fairly heavy load, nothing that you list as your expectations of the system would be problematic - the Air has power and capabilities that are beyond what the size and weight would lead you to believe.
It can certainly run two operating systems, though if running as a virtual machine rather than in boot camp, that is one area where more RAM will make quite a difference, so 2Gb will do, but is not really sufficient.
They certainly do look quite fragile, but they are well built. There are some complaints of screens that crack, one would suspect under load or if flexed too much, but there's no indication that it's a common issue or a design flaw. Clearly you'd want to handle a $1000+ investment with a little care, but allowing for some scratches and dings, it seems to me to be pretty durable - and even the scratches and dings can be avoided with a bit of care. I'd expect it to last a lot longer than 2 years.
And of course it has an SSD instead of a traditional hard drive, so there's no risk of HD failure due to impact or rough handling.