mathjax

2013年8月21日水曜日

PEOPLE_0:はじめに

PEOPLE_0: はじめに

ソースファイル

オブジェクト指向プログラミングという言葉がある。これは現実の物(object)をプログラミング中でモデル化する方法論である。

具体的には、現実の物に関するひとまとまりのデータとそのデータの処理の仕方(Method)を一つのオブジェクトとして定義し、オブジェクト間の相互作用として現実世界をモデル化し、コンピュータ上である種のシミュレーションを行い、その中で必要なデータ処理を行っていく。 この方法論は、現在のプログラミングの主流となる考え方であり、必ずしも万能ではないし、絶対視されているわけではないものの、プログラマーにとっては必須の技術だろう。

オブジェクト指向プログラミングを行うに適したオブジェクト指向プログラミング言語というのも多く開発されており、パイソン(Python)もその一つである。 パイソンは教育用言語として開発された訳ではないが、言語の習得が簡単であるため、プログラミングを専門としない多くの人にお勧めできる。 (現実には、様々な分野でパイソンは実用されており、プロフェッショナルにとってもマイナーな言語ではない。)

特に、最近は、IPYTHON NOTEBOOKというウェブブラウザ上でインタラクティブに読み書きする環境が充実してきており、そこでは、様々な表現方法(整形された文書、数式、表、グラフ、アニメーション、動画など)を駆使して作成されたノートブックを通じて、作者の考えを追体験することができる。 私自身が今これを記述しているのが正にIPYTHON NOTEBOOKであり、ブラウザ上で書いている。

一方、物質世界もまた、構成する粒子、波などの物理的実体間の相互作用システムとして認識されている。 これを物理学的世界観と呼ぶことにしよう。 物理学的世界観に基づけば、物質世界を理解するためのツールとして、オブジェクト指向プログラミングが利用できるのではないか、というアイデアが浮かんでくる。

しかし、より正確に言えば、プログラミング用語であるオブジェクトは物理的な実体を指し示すのではなく、データとその処理方法をまとめた概念であり、物理的実体とは異なったくくり方になる場合が多い。 従って、オブジェクト指向プログラミングによる物理シミュレーションを行ったとしても、それは物理学的世界観を忠実に再現したものになっているとは限らない。

私が目指したいのは、物理的実体を指向したプログラミングである。 物理的実体以外のオブジェクトを隠ぺいし、物理的実体間の相互作用システムとして物質世界を表現したい。

また、IPythonNotebookの紹介という意図を今の時点では強く持っている。 このツールは最近バージョンアップした。 日本においてはまだまだユーザーが少ないように感じるが、プログラミングを生業としない人にとって非常に魅力的であり、 今後も更なるバージョンアップが 予定 されている。

0 件のコメント:

コメントを投稿