メディア

力任せの人工知能 〜 パソコンの中に作る、私だけの「ワンダーランド」Over the AI ―― AIの向こう側に(12)(7/9 ページ)

» 2017年06月30日 08時00分 公開
[江端智一EE Times Japan]

シミュレーションに役立つツール

 では最後に、この「世界を理解する方法」の1つである「シミュレーション」を実現するために、大変役に立つ「道具」を1つご紹介したいと思います。

 それは「オブジェクト指向プログラミング」です。これは技術分野と縁のない人も耳にしたことがあるかもしれないくらい著名な用語ですが、その一方、技術分野の人であったとしても、最もとっつきにくい用語の1つでもあります。

 その理由、私には分かっています。面倒ですので次の絵で説明しますね。

図版内の説明の出典:Wikipedia

 人々を「オブジェクト指向プログラミング」から遠ざける理由は、もう1つあります。オブジェクト指向プログラミングの初心者向けの「入門書」です。

 これも、今回、まとめておきました。

 本当に、「オブジェクト指向プログラミングの入門書を執筆している奴ら、みんな、どうかしているんじゃないのか」と思います。

 カプセル化、インヘリタンス、ポリモーリズム、ダイナミクバインデイングなんぞ、付録のページに突っ込んどけばいいのです。こんな気持ちの悪い、理解不能な概念が、第一章に出てきたら、私だって、「こんな本、この場でゴミ箱に投げ捨ててやる」という気持ちになります(まあ、この話を書かないと「オブジェクト指向プログラミングの本」としてカッコ付かない、という気持ちは理解できますが、入門書としては最低にして最悪です)。

 オブジェクト指向プログラミングは、「シミュレーション専用プログラミング」と言っても過言ではないほど、シミュレーションに向いています(「向いている」のであって、「簡単」というわけではありませんが)。

 それは、プログラミングの段階で「モノ」と「モノの関係」を記述さえしておけば、勝手に「モノ」たちが動き出して、シミュレーションが進んでいくからです。

 シミュレーションに限定すれば、オブジェクト指向プログラミングの入門書の内容は、次の3つのことが述べられていて、かつ100行以内のサンプルプログラムの事例が10個もあれば、十分です。

 要するに、「クラスを設計する→クラスを記述する→インスタンスを作って、相互にぶつけ合う」。これが、シミュレーションに限定した、オブジェクト指向プログラミングの全てです。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.