今回のタイトルは「協力して企む」です。「企む」なんて言うと悪い印象がありますが、「企みを業とする」のが「企業」ですし、「企み画策する」のが「企画」ですから、本来は悪い言葉ではないはずです。それなのに、「企む」って言うと何故か、ずるいとかあくどいとかいうイメージがついちゃっているんですよね。実際、天下の広辞苑あたりでも、「…特に、悪事をくわだてる。」などと、悪意があるとしか思えない説明がついていますし…。
なんか、世界中が協力して「企む」という言葉の地位を下げようと「企んでいる」のではないかと、ついつい邪推してしまいますね。
そうそう悪いイメージというと実はコンピュータ関係の用語もよくよく考えてみるとかなり悪い感じの言葉がつかわれていますね。Unixのコマンドにはそのものずばりのkillとかいうのもありますし、「殺す」だとか「死ぬ」だとかは、しょっちゅう会話に出てきます。だいたいWindowsとかのプログラムの拡張子EXEの元になった“execute”ってのは死刑執行って意味なんですから、暴力的といえばかなり暴力的なんですよね。
特に最近、最近コンピュータ業界ではやりの「オブジェクト指向プログラミング」なんてのはヤクザの世界と同様なもんですからね。というわけで今回はオブジェクト指向プログラムについて書いてみましょう。
コンピュータは、プログラムがなければただの無駄に電気を食うだけのしろものです。最近はコンピュータの性能も年々向上していますので、無駄に電気を食わせるわけにもいかず、どんどんプログラムを作っていかないといけないわけです。
そのため日夜、世界中のプログラマーと呼ばれる人々が苦労しているわけですが、そんなプログラマーたちが、「俺たちってヤクザの下っ端よりも苦労しているよな。だったらヤクザの世界のの流儀をプログラム手法に取り入れれば面白いかも知れない。」と考え生み出されたのがオブジェクト指向というプログラミング手法なのです。
オブジェクト指向のプログラミング言語といえば有名どころでは“JAVA”とか“C++”があります。“JAVA”の語源は“JApanese violenece Association(日本暴力協会)”の略ですし、“C++”は“しのぎ”と読むことになっています。
そしてオブジェクト指向では必ず出てくる概念にクラスというのがありますが、もちろんこれは“組”の直訳です。ちなみに、組員のことはオブジェクト指向では通常メンバーと呼びます。当然組員に指示をできるのは組の内部の人間だけで、外部の人間が直接指示を出すことはできません。また、組内部で何が行われているかは組関係者以外には通常知らされません。このことを“情報隠蔽”とかカプセル化などと言います。
たとえば、組の関係者に「最近私たちの商売を邪魔する奴がいるので何とかしてくれ」と依頼すると、よくわからないけれど、組の内部で様々な行動が発生する。その結果、商売の邪魔していた人はいつの間にかいなくなっているという現象が発生します。 その目障りな人が説得されて旅行に出たのか、ダイビング機材なしの長時間ダイビング(大抵、特製アンクルウェイト付き)に出たのかといった詳細は組の外部には知らされません。これが情報隠蔽です。
またオブジェクト指向のもう一つの有名な概念には継承というものがあります。これは元の組を引き継いで新しい組を作るということです。先代の組長の意思を引継ぎ新しい組を作る。もちろん、格式と伝統は先代の風習を受け継ぎ、そこに独自の習慣を組み入れた新しい組を作る、これが継承ということです。
継承によって出来た組は、周囲からは新しい組として認められるだけでなく、先代の組長同様のお付き合いしていただけるというのも継承の特徴です。やっぱり襲名披露は大事な儀式なのです。やっぱり義理と人情は大切にしないといけないんですね。
ちなみに、組同士の付き合い方や作法、しきたりなどの組と組との間の関係を調査研究し、その結果どのようにしたら渡世の義理をはたせるかについて整理したものを“デザインパターン”と呼びます。このデザインパターンを調査したのはアメリカのGang Of Fourと名乗る4人組が最初だといわれています。
と、このようにヤクザの風習を受け入れ、プログラムに適用したのがオブジェクト指向なのです。近年オブジェクト指向が流行ってきているのも世間が乱れてきたせいなのかもしれませんね。