So, while browsing an English site, what do you think is the first thing I see every time I reload a page?
(in "Spanish")
"You [plural] are getting paid to learn new from Apple
language of development"
Followed by a link to an English site.
Correct translation: "We don't care about your language enough to get a human to translate our ads, or anyone at all to translate our site, but we hope you care enough about ours to spend a considerable amount of time learning it and develop software for the junk we sell so we can hike the prices even higher."
No, Apple. It doesn't matter how you ask, I'm not going to learn Objective-C 3.0.
Well, if you want to code for Mac/iOS you pretty much have no choice.
It's basically the same thing as C++ -- an object-oriented C -- but where C++ derives its OOP syntax from Simula and is an evolution of C, Objective-C derives its OOP syntax from Smalltalk and is strictly a superset of C.
As for portability, Objective-C is just as portable as C/C++; there are GCC and LLVM front-ends for it, which means it can be used on every platform and architecture GCC and LLVM target, which is pretty much every platform and architecture worth bothering with.
C++ is better because it's in more common usage and its syntax is less retarded than Objective-C's.
To some degree, the language does matter. For example, the reason why Fortran is still used today is that, unlike C, it doesn't allow pointer aliasing. This lets the compiler make more assumptions about the code, which lets it perform more aggressive optimizations; mostly by delaying writing to memory.
Generally, the more that behavior is dictated by run time information (*coughdynamiccoughtypingcough*), the more difficult it is to optimize code.
In C you can get that aliasing optimization by using the restrict keyword. But I think it's like register or inline - an optimization keyword which is often ignored by the compiler.