アカウント名:
パスワード:
OOP in Rust(日本語資料です)http://www.slideshare.net/KENZ_gelsoft/oop-in-rust [slideshare.net]
クラス継承はないけど、traitのmixinがあり、traitにデフォルト実装を定義できるので、インターフェイスを前面に出しつつ、実質的な継承も可能っぽいですね。RubyのEnumerableモジュールみたいなものが自然に実装できます。なんか最近、golang設計者の主張を初めとした、雑な感じのOOP否定論を耳にすることが多くてモヤモヤしていたのですが、RustではちゃんとしたOOPができそうで安心しました。golangの何がしたいのかよくわからない型システムに比べれば、ずっとよくデザインされていると感じます。
引用されているウィキペディアの
http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%8... [wikipedia.org]> これらの機能のうち、オブジェクト指向の考え方で不可欠なのは「カプセル化」の機能だけである。
これからして間違っているわけだが
ふつう最も重要とされるのは動的バインディングだよアラン・ケイもそう言っている
カプセル化だけじゃデータ抽象化と変わらないよね。最近の入門書はデータ抽象化→オブジェクト指向の順に書いてあって分かりやすい。
クラスベースのADTがOOPだと吹き込まれた連中が多いから仕方ない。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」
OOPがちゃんと使えそう (スコア:0)
OOP in Rust(日本語資料です)
http://www.slideshare.net/KENZ_gelsoft/oop-in-rust [slideshare.net]
クラス継承はないけど、traitのmixinがあり、traitにデフォルト実装を定義できるので、インターフェイスを前面に出しつつ、実質的な継承も可能っぽいですね。
RubyのEnumerableモジュールみたいなものが自然に実装できます。
なんか最近、golang設計者の主張を初めとした、雑な感じのOOP否定論を耳にすることが多くてモヤモヤしていたのですが、
RustではちゃんとしたOOPができそうで安心しました。
golangの何がしたいのかよくわからない型システムに比べれば、ずっとよくデザインされていると感じます。
Re:OOPがちゃんと使えそう (スコア:1)
引用されているウィキペディアの
http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%8... [wikipedia.org]
> これらの機能のうち、オブジェクト指向の考え方で不可欠なのは「カプセル化」の機能だけである。
これからして間違っているわけだが
ふつう最も重要とされるのは動的バインディングだよ
アラン・ケイもそう言っている
Re: (スコア:0)
カプセル化だけじゃデータ抽象化と変わらないよね。
最近の入門書はデータ抽象化→オブジェクト指向の順に書いてあって分かりやすい。
Re: (スコア:0)
クラスベースのADTがOOPだと吹き込まれた連中が多いから仕方ない。