メタロジック

2016年10月02日

オブジェクト指向の本質は「ブラックボックスの利点の応用」というところにある。

「オブジェクト」という単位を作り、それを「カプセル化」することによって、オブジェクトの中身を見えなくする=意識できなくすることで、オブジェクト内で完結するようにプログラムを作る。
これによってプログラマーは、プログラム全体で矛盾がないように常に全体に気を配る必要が無くなり、プログラムをシンプルにすることができるようになる。
つまり、オブジェクト内を完結させることと、オブジェクト間のやりとり、という二点についてだけを考えればよくなる、ということだ。

言い換えれば、オブジェクト指向以前のプログラミングでは、「全知全能」の視点が必要だったことに対し、オブジェクト指向では、ひとつひとつのオブジェクトを完結させることとそれらをつなげることに集中できる、ということである。

続きを読む

myinnerasia at 11:25|PermalinkComments(0)

2016年10月01日

「ブラックボックス」という言葉が一般で使われるのは、飛行機の墜落事故があったときだろうか?
パイロットの会話をすべて記録したレコーダーが衝撃や熱に強い箱に入れられている。実際は発見されやすいように黒いのではなく、オレンジ色に塗られているらしい。
墜落事故時の衝撃や熱に耐えられるほどの強度を持たせることができるのであれば、飛行機を、あるいは客室だけでもその技術を応用すればいいのに、というのは素人考えか?

さて、ここで書こうと思っている「ブラックボックス」とは、パイロットの会話記録ではなく、「中身が見えない箱」についてである。
 続きを読む

myinnerasia at 10:07|PermalinkComments(0)

2016年09月29日

セキュリティ・システムでガードされたドア。
早くそのドアを開けて向こう側に行かなくては。
ハン・ソロが適当にパスワードを入力する。が、当然のことながらドアは開かない。
そこへR2-D2が、セキュリティ・システムに接続し、暗号を解読しようとする。
が、これもなかなか暗号を解読できない。
そこでややキレ気味のハン・ソロは棒きれでパスワード入力用のキーボードを叩き壊す!
バーーーーーーーンッ!バチッバチッバチッ!とキーボードは火花をたてる。
と同時にドアが開く。

僕はスター・ウォーズは全部観たが、こんなシーンがあったように思う。
あるいは上記のとおりではないかも知れないが、そんなことはどうでもよい。
要はハン・ソロはそういうことをするようなワイルドな男だ、ということである。

そして、ワイルドでローテクな男はいつもハイテクに勝利する。
 続きを読む

myinnerasia at 08:03|PermalinkComments(0)

2016年09月28日

僕はTwitterは普段日本語で書くのだが、たまに英語で書くと、140文字で書ける内容の少なさに驚く。

昔は日本語の文字は"2バイト文字"と言って、1バイトである半角英数文字二つ分とカウントされていた。たとえば、英語と日本語のどちらかで入力されることがありうる場合は、「20文字」と言わず、「20バイト(英文字がメインの場合)」あるいは「40バイト(日本語文字がメインの場合)」といっていた。なので、前者(20バイト)に日本語を入力する場合は10文字しか入れられず、後者(40バイト)は日本語は20文字になるが、英文字であれば40文字入れられることになる。

ところが今はUnicodeと言って、あらゆる言語の文字も同じように扱うようになり、その文字が一文字あたり何バイト使うかということを気にしなくてもよくなったため、「◯◯文字」と言えば、英文字/日本語文字にかかわらず◯◯文字である。

そして文字数が言語に関わらず平等に扱われるようになったことはTwitterの140字以内という制限においてはまったく平等でない、ということに気づいた。
 続きを読む

myinnerasia at 08:09|PermalinkComments(0)

2016年09月23日

ロボットのことを"ボット"と呼ぶことがある。

「ロボット」という言葉を聞いた時に、普通に想像する、機械の体を持つものを「ロボット」と呼び、ソフトウェアのみで、体を持たないものを「ボット」と使い分けているような気もする。
普通、「ボット」という時は、体を持つロボットのことは言っていない。

この体を持たない「ボット」はどういうところにいるのだろうか?


続きを読む

myinnerasia at 08:08|PermalinkComments(0)