006.Juliaの多重ディスパッチ
2018年10月15日
リスナーからの質問
https://gyazo.com/63d54ce7292dc42c10dc193397688d72
言語屋さんではないので詳しくは話せないけど、Julia が Class を使わない理由は多重ディスパッチと呼ばれる仕組みを採用しているから。おそらく、Go とか Rust は別の理由(未調査)
多重ディスパッチは関数の全ての引数の型マッチングで対応するメソッドを呼ぶ方法
同じ関数名で複数のメソッドが定義される
科学計算等で、型によって処理を変えられるため重宝する(引数が Int Int の場合と Float Float の場合とで別の処理を定義することができる)
オブジェクト一つ一つがメソッドを持っているわけではなく、関数オブジェクトがまとめてメソッドを持っている
似たように多重ディスパッチを採用しているのは Common Lisp
なので、Julia は Ruby や Python のような 純粋オブジェクト指向言語ではないが、疑似的なオブジェクト指向の書き方ができる
多重ディスパッチがあると、クラスがあって、そこにメソッドが属しているという考え方はあまり意味を持たない。collide-with という名前のメソッドは、引数ごとにそれぞれ 2 つのクラスと関連付けられている「普通の関数呼び出し」に過ぎなくなる。結果として、メソッドを呼び出す際の特殊な構文を必要としない。
疑似 OOP
note の継続課金マガジンの読者が 5 人になりました
https://gyazo.com/b3500dbd53644cbbea87515dc43f7fad
CtoC と言われる、個人向けの販売やっていきたい
データ分析の鬼、けいすけさんから私の twitter の分析を 100 円で買いました。
1年半にわたり毎週開催していた勉強会の最終回と打ち上げをやりました
次は Kaggle の勉強会を開催していきたい。
今週の1週間
currypurin
画像のディープのモデルをいろいろ作りました。
塩コンペのディスカッションを見ていました。
消費税が増税されることが発表された
成長ジャーニー読みました。
regonn
引き続き調べてる
完全 Kernel-Only
ConfidenceValue
iPad 買ったけど Goodnote の使い方が分からない
今日の一句
川沿いをただ彷徨ふや草の花 恋言