egon's everything review

万物はレビュー可能である by egon

プログラミング言語レビュー2 C++

プログラミング言語

  言語名:C++

使用ツール:Visual studio(MSVC)

作られた年:1983年

   作者:ビャーネ・ストロヴストルップ

一言感想

Cより色々揃っているが、より難しい。

感想

C言語を拡張した言語。Cの機能も使えるが、大体は使わなくても良い。

この言語は「オブジェクト指向」という概念を取り入れたのでクラスも使える。

ただ、難易度はCの方が簡単。極めると結構難しい。

良い点

一番良いと思ったのは「C言語より機能が沢山揃っていること」である。

C言語にはなかった「文字列型」や「色々なコレクション」を使える。

さらに「クラス」も使えるので結構便利な言語である。

ポインタの概念も意外に出てこないので深く覚えなくて大丈夫。

悪い点

まずは「標準入出力が他のプログラミング言語と離れすぎている」事である。

Cの場合

#include <stdio.h>

int main(){
    printf("hello world!");
    return 0;
}

でいいのだが、C++の場合は

#include <iostream>

int main(){
    std::cout << "hello world!" << std::endl;
}

である。入力もstd::cinなので直感的に分かりやすいが、他のプログラミング言語とは離れすぎてるので応用し辛い。

さらに、フォーマット出力もないので変数を複数出力したい場合は<<で繋げないといけない。

次に「標準入出力にいちいちstd::をつけないといけない」事である。

using namespace stdを使えばいいと思ってる人も居ると思うが、これをつけると名前が衝突する可能性もある。

それは困るので使いたくない。ただ、書き方は面倒くさい。標準入出力くらい普通にやらせてほしい。

最後に「引数ありのコンストラクタの継承が結構難しい」点である。

継承は普通だったが、Javaで言うところのSuper()に値するものが無かったので焦った。

検索しても出ず、AIに尋ねたところ「特殊な書き方をしないといけない」って事に気づいた。

これがまぁ面倒。もっと分かりやすい方法はなかったのか?

総評

C言語の後継としては結構便利になっているが、やはり難しさはCを凌駕する。

文字列型や色々なコレクションが使えるのは大きいが、初心者には絶対無理。

初心者にはオススメするのはもっと進化したJavaC#である。これになると欠点は克服されている。