I want to learn how to dev games, and
while I know in most cases the answer
to this would be through C++ (at
least, I would think),
Actually, while C++ is an important language for anyone aspiring to enter the field professional, it is by no means the language you have to learn to make games and, in fact, makes for a rather poor first language (primarily due to its complexity, the wealth of incorrect/poor information on the language out there, and most important its cultural penchant for assuming the programmer is right, which is bad for a neophyte).
It seems like there's a chance that
Objective-C may actually become more
popular than C++ in a few years, and
for all I know, it may become the de
facto standard development language
for games. Still, despite all of this,
I really don't know anything, and this
is all speculation.
Something will replace C++ eventually, as C++ has by and large supplanted C, which has by and large replaced machine-specific assembly. That said, it's very hard to gauge what will replace C++ and mostly a thought experiment -- for practical concerns, it doesn't matter what language we all eventually move on to.
It's fair to surmise that the popularity of the iOS platform might help usher in a new era for Objective C, one where it's not considered some unusual warty distant cousin of C++. But in practice one can write iOS games with a bare minimum of Objective C bootstrap code (doing the rest in C++), and Objective C itself doesn't offer enough modern advances to make it otherwise more attractive, so I doubt it will replace C++ ever.
Note: despite what some might say, I
really don't want to end up using
prebuilt engines, and would rather
just learn how to make my own. I'm
well aware that it takes a lot more
time, but I'm quite ok with that.
Do you realize that using pre-built technologies is (1) essentially inevitable (you'll be using a pre-built runtime on a pre-built OS for example) and (2) orthogonal to the issue of which language you use?
It's fine to build things yourself for learning purposes, but don't let "not invented here" syndrome get you in its claws. Once it has you, it's hard to get out, and it's very easy for a new programmer to get snatched up. Resist the temptation, you will be a better developer for it in the long run.
So all that ancillary stuff being said, to answer your real question:
It doesn't matter which language you pick. My personal recommendation for people who want to get into game development and don't already know any programming languages is C# or Python. If you already know a language, use that language (it sounds like this is where you fit; if you know some C# already, I'd say continue using that). If you really can't decide, flip a coin. Between C++ and Objective C I'd say go with C++, since I think the available tools are more mature (especially on the Windows platform -- Xcode is decent if you are on a Mac, but it's no Visual Studio).
A good programmer will know many languages and, similarly, the more languages a programmer knows the easier it is for her to pick up more. So you should never be focused on trying to predict the motion of the industry so as to study the "right" language. Instead, pick something, learn it, make some games, and move on to new languages as the time comes. You will never be wasting your time doing so.