ขนาดวิดีโอ: 1280 X 720853 X 480640 X 360
แสดงแผงควบคุมโปรแกรมเล่น
เล่นอัตโนมัติ
เล่นใหม่
説明ガバいけど即興でぽいこと喋れるのすごい
クラスを配列の要素として格納できるのが便利すぎる。
この動画、企画がおもしろい!!
(^^)
ちょくちょくひろゆきの説明が間違っているって人いるけど、この説明はアラン・ケイが提唱した本来のオブジェクト指向の説明に近いからあながち間違っていないと思う継承とかは後付けの話
文系の人にオブジェクト指向の説明をすると関数が主体だった文法から、オブジェクトが主体の文法になってより自然言語っぽくなったって解釈になるから、そういう側面で見るパラダイムもまた愛おしいんですわ。それぞれ。
20点。けど、全く知らない人に2,3分で説明する内容としては100点でも良い。ひろゆきの説明は手続きや関数の説明どまりだけど、プログラム初心者にはまずそこから理解してもらわないといけない。初心者にわかった気にさせる、という説明としては100点でしょう。分かった気にさせる、という意味で。オブジェクト指向の目指すところは全てを部品化すること。文字通り「全て」。何かを入れたら何かを出すという関数的な部分だけでなく、入出力データやその集合、なんならデータの流れや構造さえもオブジェクト化して、仕様の変更や追加への対応を簡単にする。クラスやインスタンスや継承なんていう用語はその為の手段というだけ。
ひろゆき氏の話だと手続き型言語「C言語」の話のようにも聞こえる。オブジェクト指向言語の説明では不十分だと思う。
手続き型言語でもできそうな話にもきこえますよね。結構そうですよね。ひろゆき氏は「わかりやすい」にウエイトを置いて、バッサリOOD詳細部分を切り捨てたと、私個人はみています。
しゃべるChatGPTみたい
オブジェクト指向を大雑把に説明していますが、オブジェクト指向言語の特徴を説明してませんね。(ポリモーフィズム、型保証、仮想関数・動的リンク、カプセル化、インターフェース指向など)ここをすっ飛ばすと手続き型と何が違うって疑問が湧くと思います。湧かなければよく分かっていないということでしょう。
そうなんですけどね。「一般の方へOODをわかりやすく解説」で、学術的専門用語が出ると、わからなくなると思います。私も、ひろゆきさんの後に続いて2・3分の尺でやってみましたが、せいぜい継承を入れるのが精一杯です。Javaを学ぼうとする方へも、学術的専門用語を出すのは、実践向けの理解者が減るので、諦めています。そもそも、2・3分でOODがわかるわけはないということを、よく知られていないということなんですけどね。
ひろゆきオブジェクト指向の説明になってない
関数の自由度を上げたのがオブジェクト指向
持続する被包含空間の作成
言語の問題ではないですね。概念の問題ですよ。cだろうがアセンブラだろうがオブジェクト指向のプログラミングは可能ですよ。重要なのは概念ですよ。
オブジェクト指向は、具体⇄抽象の概念。プログラムでそのように書く、ということなんですよね、
@@nekopro_firesoft 逆も然りオブジェクト指向言語でも、手続型のようなプログラミングを書くことも可能ですね。どちらかと言うとオブジェクトとか、隠蔽とかポリーモーフィズムなどの概念が重要ですね。構造化ものね。言語は描きやすいように特化工夫されているだけですよね。オブジェクト指向が難しいのは、目に見えない概念を抽象化してオブジェクトとして捉えることがなかなかできないからです。人間の考え方からこのような発想になりましたが、実はこれはとても難しいですね。恐らく人間以外の動物ではこの抽象化概念はなく、全て見たままの現実で捉えています。時間という概念もないと思いますよ。
オブジェクトですが既に概念がある動物←ネコ←タマとかは簡単ですね。よく例題とかでありますね。これは既に過去に抽象化されて世の中に浸透しているので頭を使わなくとも可能です。プログラミングだとこうは簡単には行きませんね。世の中にない概念を取り出し抽象化しなといけません。これって結構難しいし皆できていませんね。その他モデルという概念も一緒ですね。オブジェクトもモデルも概念抽出が肝ですが、殆どできる人がいませんよ。自分もね。
まぁ余り難しく考えないで、取り敢えずできないことを前提で考えるなら、オブジェクトを生成するときには必ずベースクラスを作っておけば、後から気がついたときに変更が比較的容易いですね。これでも良い気がします。
設計図から実体を作るという考え方を持つ言語がオブジェクト指向っていう単純な解釈じゃだめなんでしょうか
設計図には、「オブジェクト指向」のものと、COBOLでの「手続き型」が存在しますので、ダメと言えばダメですけど、大概現場の設計図はオブジェクト指向的とか、に寄っているということは言えます。
それはインスタンス化では?
目のオブジェクトにaiを導入すると、aiのレスポンスが遅すぎて回答が帰ってこない間に鼻とか口の処理が終わって、顔メソッドが目だけ情報落ちと判断してエラー出したり暴走して目のない顔を返したりしてくる。でも、どこがおかしくてそのトラブルが起こってるのかわからず、結局全部上から読むことになる。しかもあちこち飛んで上も下もないのがオブジェクト指向言語だから追跡するのも大変
モジュールとかライブラリの話してんのかな
全然違います。これは関数の説明ですね。まったくオブジェクト指向の説明になってない。オブジェクト指向は複数のデータを管理する際に共通部分を共通の処理で扱えるようにしたり、処理をカプセル化することで再利用しやすくする、あるいはコードをカプセル単位で区切ることで見やすくする事を目的とした機能です。 この動画で言われてるのはコードを見やすくするという点だけなので、それだけなら関数で十分です。オブジェクト指向は必要ありません。
オブジェクト指向を1週間勉強したものなんですが、クラス(設計図)とインスタンス(できあがったもの)って教わりました。全然ひろゆきさんの話のほうがなっとくできるんだけどwwライブラリとオブジェクトって同じなのかな
APIの説明やがな
主の話はさっぱりわからんww
博之の説明はわかりやすいけど、チャンネル主の説明からわかりにくい。一番の問題はチャンネル主は自分ではうまく説明できてると思ってるところだわ。全然ダメ。
説明ガバいけど即興でぽいこと喋れるのすごい
クラスを配列の要素として格納できるのが便利すぎる。
この動画、企画がおもしろい!!
(^^)
ちょくちょくひろゆきの説明が間違っているって人いるけど、この説明はアラン・ケイが提唱した本来のオブジェクト指向の説明に近いからあながち間違っていないと思う
継承とかは後付けの話
文系の人にオブジェクト指向の説明をすると
関数が主体だった文法から、オブジェクトが主体の文法になってより自然言語っぽくなったって解釈になるから、そういう側面で見るパラダイムもまた愛おしいんですわ。それぞれ。
20点。けど、全く知らない人に2,3分で説明する内容としては100点でも良い。
ひろゆきの説明は手続きや関数の説明どまりだけど、プログラム初心者にはまずそこから理解してもらわないといけない。
初心者にわかった気にさせる、という説明としては100点でしょう。分かった気にさせる、という意味で。
オブジェクト指向の目指すところは全てを部品化すること。文字通り「全て」。
何かを入れたら何かを出すという関数的な部分だけでなく、入出力データやその集合、なんならデータの流れや構造さえもオブジェクト化して、仕様の変更や追加への対応を簡単にする。
クラスやインスタンスや継承なんていう用語はその為の手段というだけ。
ひろゆき氏の話だと手続き型言語「C言語」の話のようにも聞こえる。
オブジェクト指向言語の説明では不十分だと思う。
手続き型言語でもできそうな話にもきこえますよね。結構そうですよね。ひろゆき氏は「わかりやすい」にウエイトを置いて、バッサリOOD詳細部分を切り捨てたと、私個人はみています。
しゃべるChatGPTみたい
オブジェクト指向を大雑把に説明していますが、オブジェクト指向言語の特徴を説明してませんね。(ポリモーフィズム、型保証、仮想関数・動的リンク、カプセル化、インターフェース指向など)ここをすっ飛ばすと手続き型と何が違うって疑問が湧くと思います。湧かなければよく分かっていないということでしょう。
そうなんですけどね。「一般の方へOODをわかりやすく解説」で、学術的専門用語が出ると、わからなくなると思います。
私も、ひろゆきさんの後に続いて2・3分の尺でやってみましたが、せいぜい継承を入れるのが精一杯です。
Javaを学ぼうとする方へも、学術的専門用語を出すのは、実践向けの理解者が減るので、諦めています。
そもそも、2・3分でOODがわかるわけはないということを、よく知られていないということなんですけどね。
ひろゆきオブジェクト指向の説明になってない
関数の自由度を上げたのがオブジェクト指向
持続する被包含空間の作成
言語の問題ではないですね。
概念の問題ですよ。
cだろうがアセンブラだろうがオブジェクト指向のプログラミングは可能ですよ。
重要なのは概念ですよ。
オブジェクト指向は、具体⇄抽象の概念。プログラムでそのように書く、ということなんですよね、
@@nekopro_firesoft 逆も然り
オブジェクト指向言語でも、手続型のようなプログラミングを書くことも可能ですね。
どちらかと言うとオブジェクトとか、隠蔽とかポリーモーフィズムなどの概念が重要ですね。
構造化ものね。
言語は描きやすいように特化工夫されているだけですよね。
オブジェクト指向が難しいのは、目に見えない概念を抽象化してオブジェクトとして捉えることがなかなかできないからです。人間の考え方からこのような発想になりましたが、実はこれはとても難しいですね。恐らく人間以外の動物ではこの抽象化概念はなく、全て見たままの現実で捉えています。時間という概念もないと思いますよ。
オブジェクトですが既に概念がある
動物←ネコ←タマ
とかは簡単ですね。よく例題とかでありますね。
これは既に過去に抽象化されて世の中に浸透しているので頭を使わなくとも可能です。
プログラミングだとこうは簡単には行きませんね。世の中にない概念を取り出し抽象化しなといけません。これって結構難しいし皆できていませんね。その他モデルという概念も一緒ですね。
オブジェクトもモデルも概念抽出が肝ですが、殆どできる人がいませんよ。自分もね。
まぁ余り難しく考えないで、取り敢えずできないことを前提で考えるなら、オブジェクトを生成するときには必ずベースクラスを作っておけば、後から気がついたときに変更が比較的容易いですね。これでも良い気がします。
設計図から実体を作るという考え方を持つ言語がオブジェクト指向っていう単純な解釈じゃだめなんでしょうか
設計図には、「オブジェクト指向」のものと、COBOLでの「手続き型」が存在しますので、ダメと言えばダメですけど、大概現場の設計図はオブジェクト指向的とか、に寄っているということは言えます。
それはインスタンス化では?
目のオブジェクトにaiを導入すると、aiのレスポンスが遅すぎて回答が帰ってこない間に鼻とか口の処理が終わって、顔メソッドが目だけ情報落ちと判断してエラー出したり暴走して目のない顔を返したりしてくる。
でも、どこがおかしくてそのトラブルが起こってるのかわからず、結局全部上から読むことになる。しかもあちこち飛んで上も下もないのがオブジェクト指向言語だから追跡するのも大変
モジュールとかライブラリの話してんのかな
全然違います。これは関数の説明ですね。まったくオブジェクト指向の説明になってない。オブジェクト指向は複数のデータを管理する際に共通部分を共通の処理で扱えるようにしたり、処理をカプセル化することで再利用しやすくする、あるいはコードをカプセル単位で区切ることで見やすくする事を目的とした機能です。
この動画で言われてるのはコードを見やすくするという点だけなので、それだけなら関数で十分です。オブジェクト指向は必要ありません。
オブジェクト指向を1週間勉強したものなんですが、
クラス(設計図)とインスタンス(できあがったもの)って教わりました。
全然ひろゆきさんの話のほうがなっとくできるんだけどww
ライブラリとオブジェクトって同じなのかな
APIの説明やがな
主の話はさっぱりわからんww
博之の説明はわかりやすいけど、チャンネル主の説明からわかりにくい。
一番の問題はチャンネル主は自分ではうまく説明できてると思ってるところだわ。
全然ダメ。