人気コンパイラ言語5選

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

はじめに

今回から、現在人気があるプログラミング言語を個別に紹介していきます。本稿ではコンパイラ言語5選と題して、C、C++、Objective-C、Java、C#の5つを取り扱います。この5つの言語は、TIOBE Softwareのランキングを参考に上位の言語を選んでいます。

TIOBE Software: The Coding Standards Company

TIOBE Softwareのランキングは検索のヒット数などを元に、プログラミング言語の人気をランキング化したもので、2011年3月度のランキングでは、上から、Java、C、C++、C#、PHP、Python、(Visual)Basic、Objective-C、Perl、JavaScript、Rubyの順になっています。

なお、上記ランキングは英語圏の影響が強く出ています。日本語圏で集計した場合はまた違った結果になることが予想されます。日本の仕事で求められている言語を知りたい方は、実際にプログラマ向けの求人サイトで求人数を比較した方が、より求めている情報に近い答えを見つけられると思います。

コンパイラ言語は学習難易度が高めな言語が多いですが、その代わり実行速度が速く、本格的なシステムを構築する際に利用されることも多いです。

各言語を紹介する前に「プログラミング言語の難易度」について、少しだけ解説します。

プログラミング言語の学習難易度

「どのプログラミング言語を学べばいいか」について話していると、「C++は難しい」とか「PHPは簡単だ」といった意見が聞こえてくることがあります。

どの言語を難しいと感じるかは、人によって意見が分かれるところです。例えばCを学ぶ際に出てくる「ポインタ」という概念は、初心者にとって難解だと言われていますが、人によってはあっさり理解できてしまうこともあるようです。

言語の難易度を統計的に示すことは難しいことであり、そうしたデータはあまり多くは公開されていません。そこで参考になるか悩ましいところではありますが、下記に筆者がこれまで利用してきた言語について、主観的に難易度を付けた一覧を掲載します。

図1:筆者主観によるプログラミング言語学習難易度ランキング

これはあくまで筆者の主観の話で、特にPerlのポジションについては「もっと簡単だ」と言う人も多いでしょう。PythonとRubyを比べた場合、私はRubyの方が覚えやすかった(でも、どちらが好きかと聞かれたらPythonだ)と感じましたが、逆だと感じる人も多いと思います。

ただ、全体的にPHP、Ruby、Python、JavaScriptなどのLL(軽量言語)と呼ばれる言語は簡単だと感じる人が多く、C++やC、Javaなどのコンパイラ言語の方が難しいと感じる人が多いようです。

難易度に関わる要素

プログラミング言語の学習難易度には、いくつかの要素が関わっています。

1つは「記述の簡易さ」です。例えば「指定したファイルに書いてある文字を読み込む」というプログラムを作ろうと考えたとします。この時、「ファイルを読み込め!」という命令を1行書くだけで処理をしてくれる。そんな言語であれば覚えるのも簡単ですよね。RubyやPythonなどは比較的簡単にこうした処理が書けます。

難しい言語では、読み込むファイルのサイズに応じてバッファをプログラマが意識して確保しないといけないとか、ファイルを読むのに利用できる機能がいくつか用意されていて、プログラマが適切に選択しなければいけなかったりします。CやC++、Javaなどがそうです。

メモリ管理も言語の難しさを左右する要素になります。プログラムは情報をメモリ上に保持して処理を行います。この時、必要なメモリを確保したり、使い終わったメモリを解放したりする処理を、自動で行ってくれる(ガベージコレクションと言います)言語と、手動で行う言語(CやC++)があります。

プログラマが自前でメモリを管理した方が、処理速度は速くなる場合が多いです。しかし解放し忘れるとメモリリークが発生するなどのリスクがあり、適切に管理するのはプログラマにとって負担になります。

その他にも、文法の複雑さ、覚える必要がある機能の多さ、参考書などの入門者用情報の多さなどによっても、言語の難易度は左右されます。

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

連載バックナンバー

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

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

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

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