プログラミング言語の比較
人間が使う言語に「日本語」「英語」「フランス語」・・・と様々あるように、
一口にプログラミング言語といっても、目的や用途に応じて様々なものが存在します。
このページでは初心者にもできるだけ分かり易く、大まかな言語の
特徴やオススメ度などを紹介していこうと思います。
※オススメ度や解説等は一部筆者の偏見や間違った解釈等が
含まれている可能性があります。もし意見等ありましたら修正してくださるか、
コメントフォーム等に連絡をお願いします。
※現在編集中です・・・加筆してくださる方いたらお願いします
手続き型
「手続き型言語」とは、プログラムに処理させたい内容を一連の手続きとして
記述する形式のプログラミング言語です。
C言語(シーげんご)
メリット :・書籍や解説等が多数存在するため勉強には困らない。
・構文自体が理解しやすく、直感的にプログラムが書ける。
・ハードウェアの直接操作などを効率よく記述できる。
デメリット:・文字列の扱いが苦手。
・メモリを直接参照するポインタという概念を多用するため、
ある程度の慣れが必要。また、安全性の点から問題点が多い。
オススメ度:★★☆☆☆
1972年にUNIX開発のために作られたプログラミング言語で、
古い言語ではありますが、その利便性の高さから現在でも多用されている言語です。
しかし、C言語は後述のC++のほぼ下位互換であるため、これから新規に勉強する人は
C++をはじめることをオススメします。
C++(シープラプラ)
メリット :・C言語に上位互換性を持つため、C言語の構文をそのまま使える。
・非常に多くのライブラリが存在し、オブジェクト指向プログラムも可能。
・C言語同様、多くの書籍や解説サイトが存在する。
デメリット:・言語仕様が複雑で、すべての機能を理解するのは難しい。
・ガベージコレクション機能がないので、手動でのメモリ開放が必要。
オススメ度:★★★★☆
C言語を改良して作られた汎用プログラミング言語です。C言語のほぼ完全上位互換性を持ち、
現在プロ・アマを問わず最も多くのプログラマに使用されている言語です。
C++標準ライブラリやBoostなどを用いることで非常に多くの機能を用いることができる上、
C言語でも可能なハードウェアに密接した処理記述も可能など、非常に汎用性が高い反面
すべての機能を理解して使うのは難しい言語ともいえます。
Pascal(パスカル)
メリット :・教育用に作られた言語であるため、言語仕様が簡易で理解しやすい。
デメリット:・アプリケーション開発等の大規模開発には向いていない。
・書籍は多いが、古い言語ゆえに新しいものが少ない。
オススメ度:★☆☆☆☆
Pascalはプログラミングの初心者への教育目的で作られた言語です。
元々アプリケーション開発等に用いることを前提に作られたものではないので、
そのため、(今となっては)教育用と言っても実践向けではないので
あまりオススメすることはできません。
オブジェクト指向型
「オブジェクト指向言語」とは、プログラムの構成要素をオブジェクトと
呼ばれる単位に分割し、オブジェクトごとのやり取りにより
処理を記述する形式のプログラミング言語です。
Java(ジャバ)
メリット :・C言語やC++と似た文法を持り、文法が理解しやすい。
・オブジェクト指向の考えに基づいて設計された言語のため、
プログラムが煩雑になりにくい。
・クロスプラットフォーム(複数のOSに対応している)言語である。
・Javaアプレット等を利用することでネットワークプログラムの作成も可能。
・C言語、C++に次いで書籍等が多数出版されている。
デメリット:・(C言語等と比べると)構文が冗長。
・開発環境を用意するのが少し面倒。
オススメ度:★★★★★
1995年、サン・マイクロシステムズ社(現オラクル)によって作成された
オブジェクト指向型プログラミング言語です。C++や他の言語の良いところを取り込み、
欠点の解消を目的に設計された言語であるため、非常に優れた文法を多数持ちます。
C#(シーシャープ)
メリット :・JavaとC++の良いところを両方持っている。
・Visual Studioを用いることでアプリケーションを容易に作成可能。
・XNA Game Studioが使える。
・コンパイルが高速。
デメリット:・C言語及びC++との互換性がない。
・.NET Framework(ドットネットフレームワーク)が必要なため、
環境依存になる可能性がある。
・現在も更新が続いているため、今後言語仕様が大幅に変わる可能性がある。
オススメ度:★★★★★
マイクロソフト社が自社の.NET FrameWork戦略の一環として開発した言語です。
C言語風の文法とJavaのオブジェクト指向要素の両方を取り入れ、
.NET Frameworkを用いることでアプリケーション開発を効率よく行うことが
可能な点が特徴です。
Visual Basic(ビジュアルベーシック)
メリット :・Visual Studioを用いることでアプリケーションを容易に作成可能。
デメリット:・記述が独特なため、慣れるのに少し時間がかかる。
・.NET Framework(ドットネットフレームワーク)が必要なため、
環境依存になる可能性がある。
オススメ度:★★★★☆
マイクロソフト社が開発したWindows用の開発用言語です。
Basicの名が示すとおり、初心者でも理解しやすく、かつ大規模開発も可能な
汎用性の高い言語です。C#同様、.NET Frameworkを用いたアプリケーション開発を
効率よく行うことが可能です。
Objective-C(オブジェクティブシー)
メリット :・iPhone/iPadで動作するプログラムを作成できる。
・C言語の上位互換言語である。
デメリット:・ほかの言語と比較すると記述が独特で、慣れないと理解が難しい。
オススメ度:★★★★☆?
Objective-Cは現在アップル社の主力であるMac OS X及びiPhone OSの
OS記述に用いられている言語です。
かつてはマイナーな言語でしたが、2000年代後半からiPhoneが普及するにつれて
iPhoneアプリ開発用言語として使用者が大幅に増加しています。
スクリプト言語
「スクリプト言語」とは、他のアプリケーションに埋め込んだり、
Webサーバ上で動作させるなどの目的で使われるプログラミング言語です。
Java Script(ジャバスクリプト)
メリット :・HTMLに埋め込むことで派手なホームページを作成可能。
・手軽にブラウザゲームを作ることができる。
・広く普及しているため、書籍や解説サイトが多い。
デメリット:・ブラウザや環境によって意図しない動作を行う可能性がある。
オススメ度:★★★★☆
JavaScriptはNetscape社が開発したオブジェクト指向型スクリプト言語です。
主にWebブラウザを通して実行され、動的コンテンツ(ゲーム等)を作ることが可能です。
なお、初心者は勘違いしやすいがJavaとは全く無関係の言語なので混同しないように。
Perl(パール)
メリット :・正規表現が扱える等、文字列処理能力が高い。
・豊富なライブラリ・モジュールが存在する。
デメリット:・ソースコードの可読性が低い。
(意識して記述しないと読みにくいソースコードになりやすい。)
オススメ度:★★★☆☆
Perlは実用性や多様性を重視して開発されたスクリプト言語です。
自由な記述方法を持ち、文字列処理に強いという特徴を持っています。
また、CPANというライブラリやモジュールをまとめたアーカイプが存在し、
多岐に渡る様々なライブラリが存在するのが特徴です。
Ruby(ルビー)
メリット :・オブジェクト指向プログラミングが可能。
・Webアプリ開発にRuby on Railsが使える。
・繰り返し処理が使いやすくかつ強力。
・日本語文字列を扱いやすい。
デメリット:・環境を用意するのが少し面倒。
・GUIアプリの開発には使い辛い。
・ある程度オブジェクト指向を理解している必要がある。
オススメ度:★★★☆☆
日本人のまつもとゆきひろ(Matz)氏が作ったオブジェクト指向型スクリプト言語です。
Perlと似た文法を持ち、Perlの手軽さとJava等のオブジェクト指向記述の両方の良さをもった
記述が可能な点が特徴です。
PHP(ピーエイチピー)
その他
上述の言語以外にも、「関数型言語」のLISPや「論理型言語」のPrologなど、
様々なプログラミング言語が存在し、目的に応じて使い分けられています。
これら言語は特化した目的で作られていることが多いので、
新しく始める人には基本的にはオススメできません。
「こういう言語もあるのか」程度に抑えておくとよいと思います。
HTML(エイチティーエムエル)
Prolog(プロログ)
LISP(リスプ)
FORTRAN(フォートラン)
COBOL(コボル)
最終更新:2012年11月07日 11:30