質問: 自分はC#、D、JavaScript、Python、VB等いくつかの言語を不自由なく使える程度に理解したつもりの人間です。CかC++を学ぼうと思っているのですが、2つの違い、長所短所は何ですか? 知りたいことは ・CにあってC++にないもの、Cが使えてC++が使えない状況、C++よりCを使う方がよい状況 ・C++にあってCにないもの、C++が使えてCが使えない状況、CよりC++を使う方がよい状況 です。特にC/C++が使えない状況があるのかについて気になっています。よろしくお願いします。
回答: C++はCにクラスなどオブジェクト指向の機能を追加した言語なので、上位互換があります。 なので、「CにあってC++にないもの」というのは思いつきません。 Cが使えてC++が使えない状況(その逆も)がコンパイラがあるか、という意味でしたら、Windows や Linux ではCもC++もコンパイラはあるので、使えます。 仕事での開発であれば、言語が指定されるかもしれませんし、既存の製品の改造等であれば、その既存の製品の言語に合わせる必要があります。 例えば、Linux カーネルなどは、ほぼCなのでCを使う必要があります。