Today, I skimmed through a couple of messages posted by one of my technical leads in my company blog to share with everyone, and something cropped up in my head and wow, I am scratching my head wondering if I actually understand or even come to an agreement that once people truly understand the concepts of object oriented programming, it doesn't matter which language they use, things are neat in place. To a degree this seems true that development is easier if the programmer adopts a programming philosophy based on the peculiarities of the language. Do we need to hire people with iPhone experiences while we already have a team of android ? and it seems to me that he confuses the programming language transition as if he lost his background of programming language theories, worse I doubt my own skills. I suppose Objective-C and C/C++ language constructs offer users the same concepts and both Objective-C and C++ support OOP paradigm and Objective-C is a subset of C only. Android mainly uses Java while Java superseded C++ in its included GUI stuff which makes it impure and more versatile. Seeing it as a point that could hit the market, Microsoft brings up C# which works better with GUI, Services, Networking, Web Applications etc. Yet it is not for free. Objective-C offers late binding [one done at runtime], but this can not be used as a feature to state that it is better than C++, it is to me just a new redefinition of the language to better fit the hand chips. C++ does offer early and late bindings. That also means Objective-C does NOT include the concepts of metadata and thus metaprogramming. It looks up methods and deals with defined objects at runtime and hence offers runtime errors. Well, what is next to tell you ? if you could add in any, please tell me.