It seems like there are two ways of approaching GUI/language development:
1) Apples way: Keep building on a base language (C). Add new features (Object orientation, XML rather than proprietary configuration, Code Generators). Maintain backwards compatibility (your old devs will be wowed by each new release's automations and syntax improvements. New devs that have not been part of your programming tradition will require greater up front study time to grok the process).
2) Microsoft's approach: Make visual development "primary" (closer to the way one uses a GUI rather than builds it). Ignore underlying language constructs and best practices (e.g. make everything global).
Having worked with Microsoft, I thought that Apple (especially with their attention to UI design) would give developers a more intuitive interface. Perhaps it is intuitive to those who can build GUIs in code, but it was not to me. This is in stark contrast to Microsoft, where someone who knows very little about programming can create a usable GUI (and get themselves in trouble quickly as well). Don't get me wrong, I am not a Microsoft fan and spend little time in that world. However, I was able to jump in on several projects and be productive with very little ramp up time. Apple development required a greater investment of time and energy up front to be productive. Enough that I have considered PhoneGap and other tools as alternatives for subsequent development.