プログラミング言語がたくさんある理由
はじめに
これからプログラミングを学ぼうと考えた時に、最初にぶつかるのが「どのプログラミング言語を学べばいいのか」という問題ではないでしょうか。
もし、プログラマをやっている知人に「どの言語を勉強すればいいかな」と尋ねた場合、回答は人によって様々だと思います。「まずはCから学ぶべきだ」と言う人もいるでしょうし、「PHPあたりは簡単でいいよ」と言う人もいるでしょう。「日本人ならRubyでもやっとけば」と言う人もいるでしょうし、「需要があるからJavaにしたら」と言う人もいるでしょう。
そんな風に様々な答えが返ってきてしまうと、どれを選べばいいのかますます混乱してしまいます。
結論から書いてしまうと、最初に選ぶべき言語は「やっていて一番楽しい言語」か「自分にとって役に立つ言語」ではないかと筆者は考えています。人間、楽しいことや実際に役に立つことでなければ、なかなか長続きしません。楽しいと感じるためには、自分が「作りたいと思っているものを作る」ことが大切です。
本記事では、これからプログラミング言語を学ぼうと考えている方を対象に、各人に合った言語がどれかを見つけられるよう、関連する情報を提供していきます。第1回である今回は、プログラミング言語がたくさんある理由や、各言語の用途について取り上げます。
巷にはプログラミング言語が溢れている
世の中にはたくさんのプログラミング言語が存在します。
有名どころでは、C、C++、Java、PHP、Python、Ruby、Perl、C#、Visual Basic、Objective-C、JavaScriptなどがあります。どれも人気と実績を兼ね揃えた、頻繁に利用されている言語です。
それ以外にも、COBOLやPascal、FORTRANなどの昔から利用されている言語や、HaskellやErlang、F#やOcamlなどの関数型と呼ばれるタイプの言語、MATLABやRなどの統計解析に用いられる言語などもあります。
上で挙げた言語は、現在使われているプログラミング言語の中でもごく一部です。言語マニアの方にこの記事を見せたら、「Lispが入ってないとはどういうことだ」とか、「最強の言語はScalaだ」とか、「これからはgoの時代だ」とか、「Luaはどこにいますか」といった指摘が舞い込むことでしょう。
そう、とにかくプログラミング言語はたくさんあるのです。
なぜプログラミング言語はたくさんあるのか
なぜ世の中にはこんなにたくさんのプログラミング言語が存在するのでしょうか。1つで十分だったりはしないのでしょうか。
残念ながら、現状では言語が1つになるという動きは出ていません。それどころか(言語マニアの皆さんにとっては喜ばしいことに)プログラミング言語の数は年々増え続けています。それには理由があります。
例えば穴を掘りたいと考えたとします。この時、10cmくらいの深さの穴を掘るのであれば、手のひらサイズの小さなスコップを、50cm以上の穴を掘ろうと思ったら、柄が長い大きめのスコップを、何十メートルも掘ろうと思ったら、大型のショベルカーを、というように、穴の大きさによって利用する道具を変えると思います。
図1:目的に合わせて道具(プログラミング言語)を選択することが重要 |
プログラミング言語も同じで、大掛かりなシステムを作りたい時には、大規模システムに向いた言語を、ちょっとした処理を書きたいだけなら小回りが利く軽量言語を、というように言語を使い分けることで、効率良くプログラムを書けるようになります。
JavaやC#は比較的大規模な開発に向いています。逆にRubyやPython、PHPなどは小規模の開発に向いています。C言語やC++は実行速度が他の言語と比べてとても速いので、スピードが求められるソフトウエアを作るのに向いています。
また、過去の言語の不都合な点を修正した、新しい言語が生み出されるケースもあります。例えばC++やObjective-Cは、C言語にオブジェクト指向などの新しい機能を付加することで作られました。Rubyは「より良いPerl」というキャッチフレーズで喧伝されることがあるように、Perlをより使いやすくしようという意図が開発された動機の1つになっています。