人気コンパイラ言語5選

2011年4月20日(水)
渡辺 将人

C を学ぶ

Cは今の世の中の土台を支えている言語です。C言語とも呼ばれます。例えばLinuxやWindowsなどのOSは、多くの機能がCで書かれています。Webサーバーやメールサーバーなどのサーバー系のソフトも、Cで書かれているものが多いです。

Cが生まれたのは1970年頃。Java、Python、Rubyなどが1990年代、C#は2000年代に生まれているのと比較すると、かなり古い言語です。そのため、最近の主流の言語では当たり前のように使える、いくつかの機能が用意されてなかったりもします。プログラミングの基礎を学ぶという意味では良い言語ですが、最新の概念にはあまり触れられない言語でもあります。

図2:プログラミング言語の登場時期

誰が学ぶべきか

ソフトウエアの土台になる部分で使われていることが多いので、自分の手で「OSを作りたい」とか「プログラミング言語を作りたい」という野望を持っている方は、Cを学んでおくと良いと思います。LinuxやPHP、Python、RubyなどはCで書かれていて、ソースも公開されているので、Cが読めて根気さえあれば、それらがどうやって書かれていて、どう動いているのかをある程度は把握することができます。

Cの学習では、ポインタや構造体が理解できずにつまずく人が多いと言われています。もし学習していてどうしても理解できなければ「自分はプログラムに向いてない」と判断する前に、他のもっと簡単な言語に移ってみるのが良いと思います。他の言語を学んだ後、もう一度Cに立ち返ってみると、不思議と以前と理解できなかったことが理解できるようになっていることもあります。

導入方法

Cのコンパイラは種類が多数あり、古い入門書で指示されているコンパラや開発環境は、既に存在しなくなっているケースもあります。Windowsを利用する場合は、下記のサイトにある情報が比較的新しく参考になると思います。

→ 苦しんで覚えるC言語

C++ を学ぶ

C++はCにオブジェクト指向やテンプレートなどの、様々な機能を追加して作られた言語です。多彩な機能を適切に使いこなせるようになれば、Cで書くよりもコンパクトでまとまりのあるソースを書けるようにもなります。

誰が学ぶべきか

「とにかく高速で動くソフトウエアが作りたい」と思った時はC++が選択されるケースが多いです。3Dのモデルをぐりぐり動かしたい場合や、シューティングゲームなどの高速な描画が必要になる処理、大量のデータを高速に処理したい場合などが例として挙げられます。

ただし、言語としての難易度は高く、実装するソフトウエア自体の難易度も高い場合が多いです。最初に学ぶ言語ということを考えると、他の覚えやすい言語を学んだ方が良いかもしれません。

C++の入門書籍や入門サイトは、「Cを学んだことがある」ことを前提として解説をしているケースが多いです。先にCを軽く学んでおいた方が、学習はしやすくなると思います。

導入方法

Windowsを利用している場合は、Visual Studioというソフトを使って開発するのが一般的です。Visual StudioはMicrosoftが公開している統合開発環境(ソフトウエアを開発するためのソフト)で、コンパイルから実行、デバッグまで、開発に必要な機能がひと通りそろっています。有償版もありますが、Express Editionであれば無料で入手することができます。

→ Microsoft Visual Studio Express

Visual StudioはC++だけでなく、C#やVB用の開発環境も用意されているので、使いこなせるようになっておけば他の言語でも役に立つことがあるでしょう。

Objective-C を学ぶ

Objective-Cは、C++と同じくCにオブジェクト指向などの機能を追加した言語です。C++とはまた別の方向性で拡張を行っているので、C++とObjective-Cを見比べると、発祥は同じであるにも関わらず随分と違う言語に見えます。

Mac OSやiPhoneなどのApple系のOSはObjective-Cで書かれています。昨今のAppleの躍進(2010年には時価総額でMicrosoftを超えてしまいましたね)もあって、注目を集めています。

誰が学ぶべきか

Objective-CはMac OS上で動くソフトやiPhoneアプリを作成する際に利用されています。「iPhoneで何か便利なアプリケーションを作りたい」というモチベーションを持っている人や、生粋のマカー(Mac愛好者)の方は、Objective-Cを選ぶと良いでしょう。

Appleから提供されているiPhone開発に利用される「iOS SDK」はMac OSのみに対応しています。Windowsユーザーの方が入門書などを購入する際には、その書籍が推奨している環境を自分が用意できるか、事前に確認しておく必要がおくと良いでしょう。

導入方法

Objective-CによるMac OSやiPhone用の開発環境として、AppleからXcodeやiOS SDKなどの開発環境が提供されています。下記はAppleの公式サイトです。

→ Apple Developer

フリーランスのプログラマ兼ライター。C、C++、Java、PHP、Perl、Python、Ruby、VB、JavaScript、ActionScriptなど、多数の言語の開発経験を持つ。現在はScalaを用いた大規模データ処理に携わっている。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています