私の見解:
表示した3つの選択肢のうち、最初の最善の策はおそらくCです。Cを理解し、その癖を理解し、それに習熟していれば、C++またはObjective-Cを学ぶことはおそらくかなり簡単です。(あなたの最も難しい点は、世界のオブジェクト指向側にあります。)
現時点では、Objective-CはMacで最も頻繁に使用されていますが、Objective-C用のGNUツールが存在し、GNUStepでもサポートされていることを忘れている人もいます。(現在のMac OS Xは、GNUStepが多かれ少なかれクローンである古いNextSTEPに大きく基づいています。)ただし、Objective-Cの特徴は、これら2つの環境以外では広く使用されていないことです。狭い環境。(そして、Obj-Cを使用すると、他の最新のOO言語と同様に、実際の基礎となる構文/字句規則よりもはるかに多くの時間をフレームワーククラスの学習に費やすことができます。)
私は主にC#開発者です。それは私の請求書を支払います、そしてそれはとてもうまくいきます。C#はあなたのリストに含まれていませんでしたが、その理由はわかっていると思います。あなたは金属に近づき、抽象化されていないように見えます。私はそれを理解しています-そしてそれは長期的なキャリアの成長のための正しい選択だと思います。私は自分のコードとボックスの間の膨大な抽象化(最初はJava、次にVB6、次に.NET)から始めました。その結果、今は暇なときに残りの部分に「追いつく」ために一生懸命取り組んでいます。世界-私は現在K&Rの本を読んでいます。確かに、私はそれを金属に近づける専門家の必要はありませんが、私はできる限り機械を理解する個人的な必要性を感じています。
(さらに、皮肉なことに、Objective-Cを介してCocoa開発に戻ることを検討しています。以前はパターを使っていましたが、今はそれを「取得」するのに適していると思います...個人的にはそのCの予知により、Objective-Cへの移行がはるかに簡単になり、コードに壊滅的なメモリ関連のバグが発生する可能性が低くなります!)
結局のところ、Cの既存の知識を持っていることは(明らかに私にとっては必要ではありませんでしたが!)非常に良いことであり、おそらく時間の経過とともに他の言語に移行することになります( OS、ドライバー、または組み込み作業を行わない限り、より簡単かつスムーズに実行してください。「それなしではやっていけない」と言っているのではなく、質問の言い方からすると…そのシナリオの正解だと思います。