Code has become a commodity. All you have to do is write the documentation very specifically, and some guy in India with a lower standard of living and lower wage will do it for you. No, the code might not be optimized or highly readable (unless you specifically pay him and instruct him to build it in such a way), but the fact is that programming has become easier to do. Yes, iPhone app development is really expensive right now because it's difficult. Objective C is not a difficult language, but the process of building those applications forces you to think them through. You basically have to know everything well in advance of starting a project. It's not really what I would call a "rapid prototyping-friendly approach." So in some regards, iPhone development and Flex development (or any RIA development for that matter) is now expensive. But it won't always be. It will continue to become easier.

You don't think that other countries won't adopt newer languages and continue to perform them cheaply? If it takes 100 hours in PHP, then people will start asking for 20 hours in RoR. And maybe now not everyone knows RoR, but those outsourced developers will pick it up if they have to. They will pass the cost savings on as well. And yet again, we're back into this cycle of code and applications as a commodity.

The only way to beat outsourcing is to be creative. The one thing you have against anyone else who wants to do outsourcing is to take zero shortcuts. The outsourced projects will for the most part fail, although they'll still happen. You'll see guys from Goldman Sachs dumping some money into these lame projects that will never surface because some YC startup was willing to put in the wrench time to build a more holistic approach: not just code, but design, and usability, and culture. That is sustainable. An outsourced project is not (unless your Kevin Rose and promote your idea on TechTV). By the way, I got to meet Byrne, and he's tremendous. I would argue he's one exception to the rule that outsourced programmers are not creative.

The reason our engineers drop out is because they don't see how the material they're being taught is relevant or at all interesting. There's too much science, math, and analysis when there should be more of a balance of practice, drawing, design, ethics, and art. It sounds really Utopian, I know, but you have to ask (1) why are drop out rates for engineers >50% in the country, but <2% at schools that emphasize drawing, creativity and practice along with the engineering courses, (2) do these outsourced projects really deserve all of the hype they receive? I would say they don't, and there's no language that will "kill outsourcing." There never will be.

You can save money on projects, and lure the project managers to hire you instead of someone in India, sure. But do you really want to work with those people who are just out to find a quick dollar? And like I said, you don't think someone in India will embrace faster/cheaper languages if the market starts demanding them?

I hope I didn't completely miss the point on this. Perhaps I did, but I at least thought it was worth discussing outsourcing and creativity in engineers.