ライフをハックしたい

プログラミング初心者向けの記事やランニングや就職活動、基本情報技術者試験(FE)などについて書いています。

世の中で一番わかりやすいオブジェクト指向の説明 スティーブ・ジョブズの言葉

f:id:ywataru:20171114152248j:plain

オブジェクト指向を何度勉強してもしてもわからない。いくら説明されても分からない。そんなあなたにスティーブ・ジョブズによるオブジェクト指向ソフトウェアの説明です。

yakst.com

スポンサーリンク

オブジェクト指向プログラミングとは? : スティーブ・ジョブズの答え

オブジェクトとは人間のようなものだ。生きていて、何をどうすべきかという知識を自分の中に取り込み、物事を覚えていられるようにメモリーを持っている。非常に低いレベルの抽象度で彼らとやりとりをするというよりは、僕たちが今ここで話しているように、非常に高い抽象性を持って交流するものだ。

例えばこんなことだ。もし僕が君の洗濯屋(laundry)オブジェクトだとすると、君は僕に汚れ物を渡し、「服を洗濯してくれ」とメッセージを送ることができる。たまたまサンフランシスコで一番いいクリーニング屋がどこかを僕は知っている。僕は英語をしゃべり、ポケットにはお金も入っている。僕はタクシーを拾い、運転手にサンフランシスコのその場所へ行ってくれと伝える。服が洗濯されたらタクシーに飛び乗り、ここに戻って来る。きれいになった服を君に渡して「こちらが洗濯済みの服です」と僕は言う。どうやって僕が洗濯したかは君はわからない。クリーニング屋の場所もわからない。もしかしたら君はフランス語しかしゃべれなくて、タクシーを捕まえることもできないかもしれない。ポケットにはドルが入ってなくて代金を払えないかもしれない。一方で僕はやり方を全部知っている。君はそのやり方を知る必要はないんだ。すべての複雑なことは僕の中に隠されていて、僕たちは非常に高い抽象度でやりとりができる。これがオブジェクトが何かということだ。複雑さをカプセル化し、その複雑な部分とのインターフェースは高レベルなものなんだ。

スポンサーリンク

他オブジェクト指向記事

当ブログでは、他にも、オブジェクト指向の説明をまとめた記事を書いています。

www.lifehackit.work

感想

スティーブ・ジョブズは、製品を利用しているイメージを伝える技術が秀でていました。ガラケーを使っている人に、iphoneを使用しているイメージを持たせることは非常に難しいと思います。オブジェクト指向も同じで、手続き型プログラミングをしている人にメリットを伝えることは難しいでしょう。それを、実生活のイメージに落とし込んで非常に上手に説明できています。 教育者として「伝える技術」の大切さ、難しさを改めて実感しました。

スポンサーリンク