What programming language to study?

A few days ago, I was in an online chat-room discussing random things with the admin, when he posed a question to me,

What programming is worth learning for a future?

Based on my personal experiences with corporations I told him that, if he were interested in working in India, then C would be his best bet. If instead, he were in either US or Europe, then either C# (aka .NET) or Java would suffice. We had a few more words after which I logged out.

But that wasn’t the end of the conversation for me. In fact, I was left thinking afterwards, “Did I answer him right?” or “Was there more to the answer?”. Now, hard and fast there is no real rule. I have seen Indian companies hiring .NET programmers and American/European companies hiring C programmers. But, they were more the occasional outlier than the norm.

But then, I started thinking about platforms. As in, on WHAT system is the company working on? And, perhaps unsurprisingly, I discovered, that the Indian companies I had contact with mostly worked in the embedded space. Specifically Linux. While the American/European ones were on Windows. And in some occasional cases, Oracle (Yes, they CAN be considered as a “platform” for sake of this discussion – for that matter, even SAS too!).

I suppose it’s more of a business question now, but I have to wonder – what happened to all the C++ programmers? I know they exist. I can remember a time a few years back, when OOP only meant C++. It wasn’t “pure” and still is a religious debate, but … a feeling of nostalgia comes upon me. Don’t get me wrong – I admire C# and Java for what they’ve done to programming. But, the more I ask myself the question, the more it seems that the answer becomes

Depends, on WHO is asking.

Which feels a bit wrong and right at the same time.