例え話は、どんなときに説明をかえって分かりにくくするか。例え話が分かりやすい時と、例えになっていない時、ありますね。その昔の Java のクラスとインスタンスの説明、継承の説明、なかなか難しかったですね。最近はどうなのか。
Java の extends を「親子関係」と例えると「親の性質が子供に遺伝する」とも解釈しそうになるが、プログラムの継承は「子のインスタンスの中に、親のデータも丸ごと含まれる(包含・拡張)」という構造です。例えば「現実の親が死んでも子は生き残るが、プログラムでは……?」など、現実の親子関係を考えようとした際には破綻します。
また「たい焼きの型 (クラス) と、そこから焼かれたたい焼き (インスタンス)」が有名ですが、これを聞いて public class Main { ... } のコードを見ても、「どこであんこを入れて、どうやって焼いているのか」は関係無いですから、コードと結びつきません。
最近は「無理に現実世界に例えるのはやめよう。プログラムはプログラムとして、図解や身近なデジタルコンテンツ(ゲームやアプリ)を使って、動く仕組みをそのまま理解しよう」という、より健康的でクリアな説明にシフトしている、と AI (Gemini) は言っています。元ネタは以下らしい。
「オブジェクト指向とは、現実世界を正しく捉えること」という理解はデメリットのほうが大きい #ポエム - Qiita
以下のようなものも見つけた。
もう「親クラス」「子クラス」と呼ぶのは終わりにしよう - 突っ走り書き
やはり「オブジェクト指向」の「クラス」を「タイヤキの金型」とかって喩えるのは間違っている。 #オブジェクト指向 - Qiita
以上、100 日を目指し IT エンジニアのお仕事と、AI を雑多に考えてみています。学ぶ・調べる・説明する話を深掘り中
人に対するバイアスを取り除くには、どうすればいいと思う? #ポエム - Qiita
「仕事ができる人」って、結局どんな人だと思う? #ポエム - Qiita
早く答えることと、正しく答えること、どちらが大事だと思う? #ポエム - Qiita
「分かりません」と言えることも、技術力だと思う? #ポエム - Qiita
難しいことを簡単に話すのも、エンジニアリングだと思う? #ポエム - Qiita
どんな人を見ると「技術力が高そう」と感じる? #ポエム - Qiita
エンジニアの技量って、どうやって測ればいいと思う? #ポエム - Qiita
「IT に詳しい人」と「IT エンジニア」は、何が違うと思う? #ポエム - Qiita
「便利屋」と「エンジニア」の境界線はどこにあると思う? #ポエム - Qiita
「何も作らないこと」が最善のエンジニアリングになることはある? #ポエム - Qiita
問題を解くことと、問題そのものを小さくすること、どちらが大事? #ポエム - Qiita
「とりあえず調べます」と言える人は、なぜ強いと思う? #ポエム - Qiita
あえて即答しないほうがいいのは、どんなとき? #ポエム - Qiita
技術的には正しいのに、うまくいかないのはなぜだと思う? #Security - Qiita
一回の失敗から「この人はダメ」と判断しないためには、どうすればいい? #ポエム - Qiita
知っていることを全部説明しないことも、技術だと思う? #ポエム - Qiita
質問が上手い人は、何を見ていると思う? #ポエム - Qiita
ベテランの「なんか変だ」は、どこから来ると思う? #ポエム - Qiita
IT エンジニアにとって「経験」って何だと思う? #ポエム - Qiita
複雑なものを紐解くことも、エンジニアの仕事だと思う? #ポエム - Qiita
AI に全部聞けるのに、それでも勉強する必要はあると思う? #ポエム - Qiita
AI の答えを「答え」ではなく「最初の仮説」と考えると、何が変わる? #ポエム - Qiita
AI が 3 秒で答えると、自分の能力が小さく感じるのはなぜだと思う? #ポエム - Qiita
なぜ私たちは「速く流暢に答える人 = 頭がいい」と感じるんだろう? #ポエム - Qiita
AI に「それ本当?」と言えるようになるには、何が必要だと思う? #ポエム - Qiita
AI を鵜呑みにしないためには、どのくらい自分にも知識が必要? #ポエム - Qiita
AI と「議論する」って、どういうことだと思う? #ポエム - Qiita
AI にわざと反対意見を言わせると、何が見えてくる? #ポエム - Qiita
AI に「この回答の前提は?」と聞くと、何が分かる? #ポエム - Qiita
AI の答えを短期・長期で考え直すと、結論は変わる? #ポエム - Qiita
AI に「この案で困る人は?」と聞くと、何が見えてくる? #ポエム - Qiita
AI の答えが正しくても、採用しないほうがいいことはある? #ポエム - Qiita
AI 時代になって、勉強はむしろ難しくなったと思う? #ポエム - Qiita
「分かった」と「分かった気がする」は、どうやって見分ければいい? #初心者 - Qiita
AI に説明してもらったあと、自分では何を確認すればいい? #ポエム - Qiita
AI より詳しくなくても、AI の回答を疑うことはできる? #ポエム - Qiita
AI には「答え」と「論点」のどちらを出してもらうほうが役に立つ? #ポエム - Qiita
AI との壁打ちで、100 点の答えを目指す必要はある? #ポエム - Qiita
AI を使うほど、一次情報を読むことが重要になると思う? #ポエム - Qiita
「AI と人間、どちらが賢い?」という問いには意味があると思う? #ポエム - Qiita
「知っている」と「使える」の間には、何があると思う? #ポエム - Qiita
公式ドキュメントを読む力って、どうすれば身につく? #ポエム - Qiita
検索が上手い人は、何が違うと思う? #ポエム - Qiita
エラー メッセージをちゃんと読むって、意外と難しくない? #ポエム - Qiita
ログに「書いていないこと」まで考える必要はある? #ポエム - Qiita
Timeout を見て「ネットワーク障害だ」と決めつけないためには、どう考えればいい? #ポエム - Qiita
「事実」「仮説」「結論」は、どうやって分ければいい? #ポエム - Qiita
障害調査は「犯人探し」ではなく「仮説検証」だと思う? #ポエム - Qiita
「再現できない」という事象を、どう扱えばいいと思う? #ポエム - Qiita
なぜ一次情報まで戻って確認する必要がある? #ポエム - Qiita
技術用語は、いつ使って、いつ使わないほうがいい? #ポエム - Qiita
正確さを失わずに簡単に説明するには、どうすればいい? #初心者 - Qiita