ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
インストール
ブラウザよりも高速アクセス!
 

プロトタイプベース

索引 プロトタイプベース

プロトタイプベースとは、オブジェクト指向言語と総称されるプログラミング言語のうち、プロトタイプを基礎(ベース)としてオブジェクトを取り扱うものをいう。インスタンスベースとも。一方、クラスでおこなっているものをクラスベースとよぶ。なおオブジェクト指向のスタイルとして、(Simula由来の、C++などに代表される)クラスベースに対し、もう一つのスタイルとされるのは、プロトタイプベースではなく、(アラン・ケイの)「メッセージ指向」のスタイルである。 プロトタイプベースのオブジェクト指向言語は、クラスベースのオブジェクト指向言語が委譲をクラスの継承関係にもとづいておこなうのに対し、委譲を「プロトタイプ」と呼ぶ既存のオブジェクトに投げる、といったようにしておこなう点が特徴である。そのために例えば、新しいオブジェクトを作る際には、「クラスのインスタンスを作る」のではなく、「既存のオブジェクト(プロトタイプ)のクローンを作る」というようなスタイルになる。Smalltalkを元にクラスの複雑性を排除したSelfが特に有名である。他にJavaScript、NewtonScript、Ioなどがプロトタイプベース(またはその機能を持つ)と考えられる。.

19 関係: 委譲メッセージ (コンピュータ)プロトタイププログラミング言語アラン・ケイオブジェクトオブジェクト指向プログラミングクラス (コンピュータ)クラスベースC++複雑性Io (プログラミング言語)JavaJavaScriptLuaPerlREBOLSelfSimula

委譲

委譲 (delegation) とはオブジェクト指向プログラミングにおいて、あるオブジェクトの操作を一部他のオブジェクトに代替させる手法のこと。.

新しい!!: プロトタイプベースと委譲 · 続きを見る »

メッセージ (コンピュータ)

メッセージ(message)とは、言付け、伝言、伝送文などの意味がある。 計算機科学におけるメッセージパッシングとは並列コンピューティング、オブジェクト指向、プロセス間通信で使われる通信方式である。プロセスもしくはオブジェクトといったモデルではメッセージ(ゼロ以上のバイト、複雑なデータ構造、プログラムコードも)を送ったり受けたりできる。メッセージを待つことによって同期 (計算機科学)することも出来る。メッセージパッシングに基づく主なモデルとしてアクターモデルやプロセス代数がある。 Microsoft Windows などのオペレーティングシステムにおいて、メッセージとは、オペレーティングシステム上で動くアプリケーションで、オペレーティングシステムが管理しているデバイスからの入力をアプリケーションまで伝えることまたはその内容のことである。 オペレーティングシステムはメッセージをメッセージキューに保管し、アプリケーションはメッセージキューに保管されていたメッセージを受け取り、それを元に処理を行う。例えば「(10, 20) 左クリック」という情報をオペレーティングシステムが感知したらオペレーティングシステムはその情報をメッセージキューに保管する。アプリケーションはそのメッセージを受け取って対応した処理を行う。 アプリケーションは常にオペレーティングシステムからのメッセージを待機するようなプログラムになっており、この一連のプログラムの機構をメッセージループという。.

新しい!!: プロトタイプベースとメッセージ (コンピュータ) · 続きを見る »

プロトタイプ

プロトタイプ(prototype)は、デモンストレーション目的や新技術・新機構の検証、試験、量産前での問題点の洗い出しのために設計・仮組み・製造された原型機・原型回路・コンピュータプログラムのことを指す。 「プロトタイプ」(原型)という言葉の原義的には、量産モデルに発展させることが前提、ないし少なくともそのつもりはあるという点が、実験機や試験機や試作機(車)などと異なるが、たとえば制式採用を決定するコンペで敗れるなどして結局量産されないこともままあり、厳密な区別は無い(難しい)。.

新しい!!: プロトタイプベースとプロトタイプ · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

新しい!!: プロトタイプベースとプログラミング言語 · 続きを見る »

アラン・ケイ

アラン・カーティス・ケイ(Alan Curtis Kay, 1940年5月17日 - )は、アメリカ合衆国の計算機科学者、教育者、ジャズ演奏家。パーソナルコンピュータの父、と言われることもある。主に、オブジェクト指向プログラミングとユーザインタフェース設計に関する初期の功績で知られている。「未来を予測する最善の方法は、それを発明することだ」という言葉でも知られている。 カリフォルニア大学ロサンゼルス校(UCLA)で計算機科学の准教授、ビューポインツ・リサーチ・インスティテュート(Viewpoints Research Institute)の経営者、TTI/Vanguard の諮問委員。2005年中ごろまで、HP研究所のシニアフェロー、京都大学の客員教授、マサチューセッツ工科大学の准教授を務めていた。 マイクロコンピュータ以前の時代に、個人の活動を支援する「パーソナルコンピュータ」という概念を提唱した。つまり1960年代当時、高価で大きく、複数人で“共有”するのが当たり前だったコンピュータに“個人向け”という利用状況を想定し、それに相応しいコンピュータ環境がどうあるべきかを考えた人。自らがそう名付けた「ダイナブック構想」の提唱者。「コンピュータ・リテラシー」という言葉も彼が造った。.

新しい!!: プロトタイプベースとアラン・ケイ · 続きを見る »

オブジェクト

ブジェクト (Object).

新しい!!: プロトタイプベースとオブジェクト · 続きを見る »

オブジェクト指向プログラミング

ブジェクト指向プログラミング(オブジェクトしこうプログラミング、)は、コンピュータ・プログラミングのパラダイムのひとつで、オブジェクト指向の概念や手法を取り入れたものである。プログラムを、データとその振舞が結び付けられたオブジェクトの集まりとして構成する、などといった特徴がある。このパラダイムを指向しているプログラミング言語がオブジェクト指向プログラミング言語である。.

新しい!!: プロトタイプベースとオブジェクト指向プログラミング · 続きを見る »

クラス (コンピュータ)

ラス()は、クラスベースのオブジェクト指向においてオブジェクトの設計図にあたるもの。抽象データ型の一つ。クラスから生成したオブジェクトのことをインスタンスという。 クラスには、インスタンスの保持するデータ(メンバ変数、フィールド(UMLでは「属性」ともいう))と操作(メソッド、メンバ関数)が記述される。 クラスは、継承・ポリモーフィズム・カプセル化などの、オブジェクト指向プログラミングにおける重要な概念を実現する強力な手段である。.

新しい!!: プロトタイプベースとクラス (コンピュータ) · 続きを見る »

クラスベース

ラスベースとはオブジェクト指向のスタイルのひとつで、「鋳型」となるクラスがあり、その鋳型によってオブジェクトの実体であるインスタンスを生成する、というスタイルである。クラスベースのシステムでは、システム内に、継承のシステムを持っていることが多い。 クラスベースでない、オブジェクト指向における「同類のオブジェクトに同じような振舞いをさせるためのメカニズム」の一例としては、プロトタイプベースがある。現代の代表例としてはJavaScriptであろう。 なおオブジェクト指向のスタイルとして、(Simula由来の、C++などに代表される)クラスベースに対し、もう一つのスタイルとされるのは、プロトタイプベースではなく、(アラン・ケイの)「メッセージ指向」のスタイルである。.

新しい!!: プロトタイプベースとクラスベース · 続きを見る »

C++

C++(シープラスプラス)は、汎用プログラミング言語の一つである。日本語では略してシープラプラ、シープラなどとも呼ばれる。.

新しい!!: プロトタイプベースとC++ · 続きを見る »

複雑性

複雑性(ふくざつせい、complexity)という用語は、多数の部品が入り組んで配置された何らかのものを特徴付ける言葉として使われる。科学として複雑性を研究するアプローチはいくつか存在しており、本項目ではそれらを概説する。マサチューセッツ工科大学のセス・ロイドは、複雑性の定義を32種類集めてプレゼンテーションしたことがあるという。.

新しい!!: プロトタイプベースと複雑性 · 続きを見る »

Io (プログラミング言語)

Io は純粋なオブジェクト指向プログラミング言語であり、Smalltalk、Self、Lua、LISP、Act1、NewtonScriptの影響を受けている。Self や NewtonScript のようなプロトタイプベースのオブジェクトモデルであり、オブジェクトとクラスを区別しない。Smalltalk のようにあらゆるものをオブジェクトとして扱い、動的型付けを行う。LISPのように文の概念がなく、制御フローは関数を使って実現される。Io はアクターによる並行性を実現しており、最近のプログラミング言語には珍しい特徴となっている。 Io の特筆すべき特徴は、その効率のよさ、処理系の小ささ、外部リソースを自由に使えるオープン性である。Io は小型で移植性の高い仮想機械で実行される。.

新しい!!: プロトタイプベースとIo (プログラミング言語) · 続きを見る »

Java

Java(ジャバ)は、狭義ではプログラミング言語Javaを指す。広義では言語仕様以外にも、仕様が与えられているJavaクラスライブラリやJava仮想マシン、さらにはJDKやJREなどの公式のものをはじめとする、場合によってはサードパーティのものなどを含め曖昧にJavaプラットフォームと総称されるようなものなどのエコシステムなどを指すこともある。構文についてはJavaの文法の記事を参照。.

新しい!!: プロトタイプベースとJava · 続きを見る »

JavaScript

JavaScript(ジャバスクリプト)とは、プログラミング言語のひとつである。Javaと名前が似ているが、全く異なるプログラミング言語である(後述の#歴史を参照)。 JavaScriptはプロトタイプベースのオブジェクト指向スクリプト言語であるが、クラスなどのクラスベースに見られる機能も取り込んでいる。 ウェブブラウザ上で動作し動的なウェブサイト構築やリッチインターネットアプリケーションの開発に用いられる。また、2010年以降はnode.jsなどのサーバサイドJavaScript実行環境や各種ライブラリの充実により、MEANに代表されるように、Web開発の全ての領域で活用されるようになってきている。.

新しい!!: プロトタイプベースとJavaScript · 続きを見る »

Lua

Lua(ルア)は、リオデジャネイロ・カトリカ大学の、主としてDepartment of Computer Science(コンピュータ科学科)and・or Computer Graphics Technology Group (Tecgraf) に属する、Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo らによって設計開発されたスクリプト言語およびその処理系の実装である。 手続き型言語として、また、プロトタイプベースのオブジェクト指向言語としても利用することができ、関数型言語、データ駆動型としての要素も併せ持っている。 Luaという名前は、ポルトガル語の月に由来する。.

新しい!!: プロトタイプベースとLua · 続きを見る »

Perl

Perl(パール)とは、ラリー・ウォールによって開発されたプログラミング言語である。実用性と多様性を重視しており、C言語やsed、awk、シェルスクリプトなど他のプログラミング言語の優れた機能を取り入れている。ウェブ・アプリケーション、システム管理、テキスト処理などのプログラムを書くのに広く用いられている。 言語処理系としてのperlはフリーソフトウェアである。Artistic LicenseおよびGPLのもとで配布されており、誰でもどちらかのライセンスを選択して利用することができる。UNIXやWindowsなど多くのプラットフォーム上で動作する。.

新しい!!: プロトタイプベースとPerl · 続きを見る »

REBOL

REBOL は、データ交換言語であり、通信や分散処理に特化したプログラミング言語である。Relative Expression Based Object Language の略。設計者カール・サセンラスはこれをメッセージング言語と呼び、「REBOL の主なアイデアは、サーバ、クライアント、その間の通信やそれらのストレージで使える言語にするというものであった。REBOLの能力は、プログラミング言語の概念とメタデータ言語の概念を統合したことに由来する。REBOLの究極の目的は、インターネット上のあらゆる機器間で情報がどのように格納され、交換され、処理されるかを表す新たなアーキテクチャを提供することである。すなわち、人間と機械の間の情報の意味論的交換に使われることを意味する」と述べている。.

新しい!!: プロトタイプベースとREBOL · 続きを見る »

Self

Self は、「プロトタイプ」の概念に基づいたオブジェクト指向プログラミング言語である。1980年代から1990年代にかけて言語設計の実験的システムとして使われていたが、2006年、Self の開発は活発に続けられており、Self言語自身で書かれた Selfバーチャルマシンを構築する Klein プロジェクトが進められ、2006年7月にバージョン 4.3 がリリースされた。2010年7月に最新バージョン 4.4 がリリースされた。.

新しい!!: プロトタイプベースとSelf · 続きを見る »

Simula

SIMULA(シミュラ; SIMUlation LAnguage)は、オルヨハン・ダールとクリステン・ニガードによってALGOL60を拡張する形で1960年代に開発が始められたシミュレーション用途のプログラミング言語である。 ALGOLのbegin...

新しい!!: プロトタイプベースとSimula · 続きを見る »

ここにリダイレクトされます:

インスタンスベース

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »