【Aモデル録 フェーズ1 C#基礎】

05-05-5 【番外編2】:パンダ爆弾 下巻

いつもとは違う注意事項、2回目

これは、「参照について」の沼に落ちた私と、懸命な救助をするAI先生が心底疲れ果て、
半ば、現実逃避の、遊び心で作られたものです。

※笑って読んでください

※決して、再現を推奨しません!
とんでもないことになります(笑)

下巻:本編

この物語は、参照型の便利さと危険性を理解するための、あくまでもフィクションです。
プログラムで、この話の登場人物を、よく考えないでどんどん増やしてしまった結果、どうなるか。
下巻は、その結末のお話。

※コウとカイは、
プログラムの考え方を説明するために登場する
架空のキャラクターです。
実在の人物・団体とは一切関係ありません。

ストーリー 続編

登場人物がどんどん増え続け、ちょっとした村ができました。

たくさんの人たちにパンダへのURLが配信され、パンダがすっかり有名になりました。

ある日、コウがWebサイトを更新しました。
「パンダは、ほとんど竹しか食べない。」
でも、「Webサイトが更新されました」なんていう、お知らせサービス機能はありません。

この村では、村長の号令を聞いて、みんなが仕事を一気に始めます。

村長:「さあ!仕事開始ですよー!」
みんな「はーい! ・・・え?・・・・えええーー!?」

・・・何が起きたのか。
村のみなさんに、インタビューしてみましょう。

カイ経由で情報をもらったA君:「あ。そうだよねー。カイが調べた情報に入ってた。」
B君:「え?聞いてない。どういうこと?」
Hyveの親:「ええ?玉ねぎが好きだと思って、大量に用意したんだけど?」
B君の友達の友達:「うちは、コアラのマーチ。」
A君の親戚のいとこの友人の知り合い:
「ええーー?困ったなぁ。あんなに身体大きいから、てっきり肉食だと思ってたよ。
張り切って、鮭をくわえた木彫りのパンダ、いっぱい作ったんだけど!」

・・・大惨事(笑)

ステップでコードに。 できません!(笑)

もうすでに、どんな惨状か、あなたにはお分かりのはず。
いちおう、解説しておきましょう。

解説

コウがWebサイトを更新しました。 更新お知らせサービス機能はありません。

参照型では、みんなに情報の内容が届くわけではありません。
情報のURLがメールとして届き、いつでも「アクセスして見ることができる」だけです。
情報元の内容が
「パンダ」から「パンダは、ほとんど竹しか食べない。」
に変更されても、村民には変更のお知らせなど届かないのです。

この村では、村長の号令を聞いて、みんなが仕事を一気に始めます。

C#では、Main()が村長の役割をします。
村長の号令を聞いて、初めて、この村は動きます。

村長:「さあ!仕事開始ですよー!」

みんな「はーい! ・・・え?・・・・えええーー!?」

さぁ。大惨事の幕開けです。

カイ経由で情報をもらったA君:「あ。そうだよねー。カイが調べた情報に入ってた。」

→おお!君は優秀!

上巻では詳しく解説していませんが、
カイはもらった情報(URL)を使って、詳しく調べています。
A君は、それを正しく利用し、正常に動作しています。

B君:「え?聞いてない。どういうこと?」

→うん。素直だね。

B君には、追加情報を処理する方法を教えられていません。
新情報が自分の仕事と折り合わず、素直にエラーを出します。

Hyveの親:「ええ?玉ねぎが好きだと思って、大量に用意したんだけど?」

→それ、パンダ死ぬんじゃ・・・

Hyveの親は、届けられる情報を正しく理解していないため、とんでもない仕事をしていますね。
しかも、直接パンダのお世話ができると教えられているわけです。

B君の友達の友達:「うちは、コアラのマーチ。」

→何がしたい(笑)

もはや、意図不明です。
解説するまでもありません。

A君の親戚のいとこの友人の知り合い:「肉食だと思って、鮭をくわえた木彫りのパンダ、いっぱい作ったんだけど!」

→ちゃんとしてくれよ!!

「パンダ」をある意味正しく使えてしまったため、とんでもない結末になってしまいました。

まとめ

このお話で起こった出来事は、フィクションではありません。

参照型を乱用すると、どんな惨劇が繰り広げられるのか。
それを、しっかりと記憶しておいてください。


構成と読み方|タイトル一覧

Top - はじめに|この忘備録と「Aモデル」について