「初心者用ページ/プログラミング言語の比較」の編集履歴(バックアップ)一覧はこちら

初心者用ページ/プログラミング言語の比較」(2012/11/07 (水) 11:30:52) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*プログラミング言語の比較 人間が使う言語に「日本語」「英語」「フランス語」・・・と様々あるように、 一口にプログラミング言語といっても、目的や用途に応じて様々なものが存在します。 このページでは初心者にもできるだけ分かり易く、大まかな言語の 特徴やオススメ度などを紹介していこうと思います。 ※オススメ度や解説等は一部筆者の偏見や間違った解釈等が  含まれている可能性があります。もし意見等ありましたら修正してくださるか、  コメントフォーム等に連絡をお願いします。 ※現在編集中です・・・加筆してくださる方いたらお願いします **手続き型 「手続き型言語」とは、プログラムに処理させたい内容を一連の手続きとして 記述する形式のプログラミング言語です。 ***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に埋め込むことで派手なホームページを作成可能。       ・手軽にブラウザゲームを作ることができる。       ・広く普及しているため、書籍や解説サイトが多い。 デメリット:・ブラウザや環境によって意図しない動作を行う可能性がある。 オススメ度:★★★★☆ ***Perl(パール) ***Ruby(ルビー) ***PHP(ピーエイチピー) **その他 上述の言語以外にも、「関数型言語」のLISPや「論理型言語」のPrologなど、 様々なプログラミング言語が存在し、目的に応じて使い分けられています。 これら言語は特化した目的で作られていることが多いので、 新しく始める人には基本的にはオススメできません。 「こういう言語もあるのか」程度に抑えておくとよいと思います。 ***HTML(エイチティーエムエル) ***Prolog(プロログ) ***LISP(リスプ) ***FORTRAN(フォートラン) ***COBOL(コボル)
*プログラミング言語の比較 人間が使う言語に「日本語」「英語」「フランス語」・・・と様々あるように、 一口にプログラミング言語といっても、目的や用途に応じて様々なものが存在します。 このページでは初心者にもできるだけ分かり易く、大まかな言語の 特徴やオススメ度などを紹介していこうと思います。 ※オススメ度や解説等は一部筆者の偏見や間違った解釈等が  含まれている可能性があります。もし意見等ありましたら修正してくださるか、  コメントフォーム等に連絡をお願いします。 ※現在編集中です・・・加筆してくださる方いたらお願いします **手続き型 「手続き型言語」とは、プログラムに処理させたい内容を一連の手続きとして 記述する形式のプログラミング言語です。 ***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(コボル)

表示オプション

横に並べて表示:
変化行の前後のみ表示: