私がプログラミング言語をC言語からC++に変えた理由

photo credit: PabloBD tech2 via photopin (license)

こんにちは!Takuya.B(@TB_IQ)です。

昨日、私の研究についてのお話をしました。

[mylink id="4681" title="私の研究の話"]

私の研究にはプログラミングが命で、これまでC言語を使って解析プログラムを作っていました。しかし、ひょんな気持ちでC++に変えようと考えています。

なぜ、C言語からC++に変えるのか、お話します!

スポンサーリンク

C言語とC++

まず、始めにC言語とC++についてお話します。

C言語について

C言語はプログラミングの中でも有名な言語です。私も中学生の頃にプログラミングを勉強したいと思い、近所の書店で入門書を買いに行った記憶があります(当時はもちろん理解できなかったが)。

WikipediaによるとC言語には以下の特徴があります(特徴多すぎなので抜粋)。

  • 汎用性が高い。プログラムの自由度や、目的に応じた拡張が容易であるため、パソコンソフトからゲームの作成、機械制御やシステム管理など、あらゆる分野に適応している。
  • 対応する機器の範囲が広い。パソコンはもちろん、自動車や家電の組込み用マイコンからスーパーコンピュータまで、C言語を使用できるハードウェアは多様である。多目的性と、対応機器の多彩さのため、「コンピュータを使ってやること」は大抵、C言語で対応可能である。

とりあえず、何にでも使えて、凄く計算処理スピードが速い言語という感じです。私の研究では数万以上のデータを解析するので、処理スピードが速いのは非常に助かります。

ただ、C言語は手続き型言語でオブジェクト指向型の言語ではありません。

C++

続いてC++についてです。C++はC言語の上位拡張版とされています。

また、C言語が手続き型言語なのに対して、こちらはマルチパラダイムと呼ばれ、オブジェクト指向も取り入れている素晴らしい言語なのです!

マルチパラダイムが何かは知りませんが、とにかくC++ではオブジェクト指向型のプログラムを書くことができます

なぜ、オブジェクト指向が必要なの?

私が研究で作っているプログラムは1つではありません。役割に応じて様々なプログラムを作っています。

しかし、その中には似たような処理を含むものばかりです。1つのプログラムの中に同様の処理が複数存在することもあります。

この辺に関しては、処理を関数化させたり自作ヘッダファイルを作って処理していますが、実用的とは言えないのが実情です。

C++はオブジェクト指向型の言語なので、この私の悩みを解決してくれます!最高です!

頭でオブジェクト指向を理解している訳ではありませんが、仕事でswiftやPHPを使っているため、感覚的にはオブジェクト指向がある程度身に付いています。そこで、研究でもオブジェクト指向型言語であるC++を使ってオブジェクト指向を身に付けようという意図もあります。

以上の理由が私がC言語からC++に乗り換える理由です!

スポンサーリンク

まとめ

今回、オブジェクト指向という言葉を出しましたが、オブジェクト指向を理解しているわけではありません。

研究のプログラムをこれからC++に書き換えていくので、その過程でオブジェクト指向を本当の意味で理解できればと考えています。