[#21115] ftpup with IIS — TADA Tadashi <sho@...>
ただただしです。
7 messages
2000/03/01
[#21131] RAA の License — Matsuo Hisanori <hisanori@...>
松尾です。
6 messages
2000/03/02
[#21140] extconf.rb on FreeBSD — NISHIKAWA <nyasu@...3web.ne.jp>
にゃすです。
7 messages
2000/03/02
[#21157] あったらうれしいメソッド to_n, to_n!, to_s! — ogino@...
荻野です。あったらうれしいメソッドということで書いてみます。
16 messages
2000/03/03
[#21158] Re: あったらうれしいメソッド to_n,to_n!, to_s!
— 中村暁史 Nakamura Akifumi <BXQ04723@...>
2000/03/03
[#21167] Re: あったらうれしいメソッド to_n, to_n!, to_s!
— matz@... (Yukihiro Matsumoto)
2000/03/03
まつもと ゆきひろです
[#21159] メソッドの入り口 — ogino@...
荻野です。もうひとつご指導ください。
93 messages
2000/03/03
[#21170] Re: メソッドの入り口
— Shin-ichiro Hara <sinara@...>
2000/03/03
原です。
[#21243] Re: メソッドの入り口
— keiju@... (石塚圭樹)
2000/03/07
けいじゅ@日本ラショナルソフトウェアです.
[#21247] Re: メソッドの入り口
— 中村暁史 Nakamura Akifumi <BXQ04723@...>
2000/03/07
[#21267] 引数コピーとオブジェクト指向 (Re: メソッドの入り口)
— Hideto ISHIBASHI <s34204@...>
2000/03/08
石橋秀仁です。
[#21272] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 )
— 中村暁史 Nakamura Akifumi <BXQ04723@...>
2000/03/08
[#21276] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 )
— nobu.nakada@...
2000/03/09
なかだです。
[#21279] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 )
— ogino@...
2000/03/09
oop未満の世界観の荻野です。
[#21282] Re: 引数コピーとオブジェクト指向
— Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
2000/03/09
越水です。
[#21285] Re: 引数コピーとオブジェクト指向
— ogino@...
2000/03/10
荻野です。
[#21293] Re: 引数コピーとオブジェクト指向
— Matsuo Hisanori <hisanori@...>
2000/03/10
松尾です。
[#21297] Re: 引数コピーとオブジェクト指向
— ogino@...
2000/03/10
荻野です。
[#21302] Re: 引数コピーとオブジェクト指向
— 土岐 仁謙 <toki@...>
2000/03/10
土岐です。
[#21371] Re: 引数コピーとオブジェクト指向
— Matsuo Hisanori <hisanori@...>
2000/03/13
松尾です。
[#21374] Re: 引数コピーとオブジェクト指向
— TADA Tadashi <sho@...>
2000/03/13
ただただしです。
[#21389] Re: 引数コピーとオブジェクト指向
— Matsuo Hisanori <hisanori@...>
2000/03/13
松尾です。
[#21365] Re: 引数コピーとオブジェクト指向
— Matsuo Hisanori <hisanori@...>
2000/03/13
松尾です。
[#21370] Re: 引数コピーとオブジェクト指向
— TADA Tadashi <sho@...>
2000/03/13
ただただしです。
[#21286] Re: 引数コピーとオブジェクト指向
— Matsuo Hisanori <hisanori@...>
2000/03/10
松尾です。
[#21173] TkSelection.own の使い方? — Noritsugu Nakamura <nnakamur@...>
13 messages
2000/03/03
[#21177] Re: TkSelection.own の使い方?
— Koji Arai <JCA02266@...>
2000/03/03
新井です。
[#21178] Re: TkSelection.own の使い方?
— Koji Arai <JCA02266@...>
2000/03/03
新井です。
[#21179] Re: TkSelection.own の使い方?
— Noritsugu Nakamura <nnakamur@...>
2000/03/04
[#21190] Re: TkSelection.own の使い方?
— Koji Arai <JCA02266@...>
2000/03/04
新井です。
[#21193] Re: TkSelection.own の使い方?
— Noritsugu Nakamura <nnakamur@...>
2000/03/05
[#21186] 文字列の二進数への変換 — ishihara-k@...3.tiki.ne.jp (Hiroki Ishihara)
文字列クラスには hex と oct というメソッドはありますが、
4 messages
2000/03/04
[#21196] cgi.rb で例外が発生 — RIO-T <rio-t@...>
はじめまして、高石と申します。
7 messages
2000/03/05
[#21233] rdindex — rubikitch <rubikitch@...>
るびきちです。
6 messages
2000/03/07
[#21280] raise non-Exception object — Kenichi Komiya <kom@...3.rim.or.jp>
24 messages
2000/03/09
[#21283] Re: raise non-Exception object
— nobu.nakada@...
2000/03/09
なかだです。
[#21315] Re: raise non-Exception object
— Kenichi Komiya <kom@...3.rim.or.jp>
2000/03/11
[#21342] Re: raise non-Exception object
— nobu.nakada@...
2000/03/12
なかだです。
[#21354] Re: raise non-Exception object
— Kenichi Komiya <kom@...3.rim.or.jp>
2000/03/12
[#21358] Re: raise non-Exception object
— matz@... (Yukihiro Matsumoto)
2000/03/12
まつもと ゆきひろです
[#21397] Re: raise non-Exception object
— Kenichi Komiya <kom@...3.rim.or.jp>
2000/03/13
[#21300] media watch 2000.03.08 — Noritsugu Nakamura <nnakamur@...>
11 messages
2000/03/10
[#21323] Re: media watch 2000.03.08
— Hideto ISHIBASHI <s34204@...>
2000/03/11
石橋秀仁です。
[#21301] date2 の修正 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
15 messages
2000/03/10
[#21384] ruby 1.4.4 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
35 messages
2000/03/13
[#21403] Re: ruby 1.4.4
— Wakou Aoyama <wakou@...>
2000/03/14
青山です。
[#21454] Re: ruby 1.4.4
— Satoshi Nojo <nojo@...>
2000/03/15
Yukihiro Matsumoto さんは書きました:
[#21461] Re: ruby 1.4.4
— Minero Aoki <aamine@...>
2000/03/15
あおきです。
[#21626] Re: ruby 1.4.4
— Wakou Aoyama <wakou@...>
2000/03/24
青山です。
[#21635] Re: ruby 1.4.4
— Minero Aoki <aamine@...>
2000/03/26
あおきです。
[#21648] Re: ruby 1.4.4
— Wakou Aoyama <wakou@...>
2000/03/27
青山です。
[#21400] 式の中で変化する変数の値 — Kazuhiro Nishiyama <nishiyama@...1.tiki.ne.jp>
Rubyでは変数の値が前から見ていってその時点の値になっているのは
5 messages
2000/03/13
[#21442] 配列内のソート — Takayuki Tanaka <tanaka@...>
こんにちは Tanです。
16 messages
2000/03/15
[#21444] Re: 配列内のソート
— 市川 裕隆 <hirotaka.ichikawa@...>
2000/03/15
市川 as Tanukiです。
[#21449] Re: 配列内のソート
— IKARASHI Akira <ikarashi@...3.dion.ne.jp>
2000/03/15
五十嵐です。
[#21475] SJIS 文字列での問題 — Kenji Nagamatsu <knaga@...>
こんにちは、永松と言います。
5 messages
2000/03/16
[#21480] RD 事始め — rubikitch <rubikitch@...>
るびきちです。
7 messages
2000/03/16
[#21481] IO#method for read data from stream — ARIMA Yasuhiro <fit0298@...>
有馬です。
12 messages
2000/03/16
[#21484] Re: IO#method for read data from stream
— Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
2000/03/16
越水です。
[#21537] racc 0.13.0 — Minero Aoki <aamine@...>
あおきです。
6 messages
2000/03/19
[#21538] Project Apollo — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。Apollo について。
13 messages
2000/03/19
[#21553] Re: Project Apollo
— 中村暁史 Nakamura Akifumi <BXQ04723@...>
2000/03/20
[#21557] <RE =~ target> and <target =~ RE> — ARIMA Yasuhiro <fit0298@...>
有馬です。
7 messages
2000/03/21
[#21570] Qt module for ruby — Nobuyuki Horie <horie@...>
堀江ともうします。
5 messages
2000/03/21
[#21583] ruby for Web — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
27 messages
2000/03/22
[#21584] Re: ruby for Web
— "NAKAMURA, Hiroshi" <nakahiro@...>
2000/03/22
なひです.
[#21588] Re: ruby for Web
— TAKAHASHI Masayoshi <maki@...>
2000/03/23
高橋征義です。
[#21586] squid log 時刻変換 — Yamada Kenji <kyamada@...>
8 messages
2000/03/23
[#21604] RDtool 0.6.0 pre4 — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp>
Toshです。
10 messages
2000/03/23
[#21611] Re: RDtool 0.6.0 pre4
— rubikitch <rubikitch@...>
2000/03/24
From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>
[#21720] Re: RDtool 0.6.0 pre4
— Toshiro Kuwabara <toshirok@...3.so-net.ne.jp>
2000/04/01
Toshです。
[#21728] Re: RDtool 0.6.0 pre4
— rubikitch <rubikitch@...>
2000/04/01
From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>
[#21649] net-1.1.10 — TAKAHASHI Masayoshi <maki@...>
高橋征義です。net/http 使いたおし中。
17 messages
2000/03/27
[#21655] Re: net-1.1.10
— Minero Aoki <aamine@...>
2000/03/27
あおきです。
[#21659] Re: net-1.1.10
— TAKAHASHI Masayoshi <maki@...>
2000/03/27
高橋征義です。
[#21664] Re: net-1.1.10
— Minero Aoki <aamine@...>
2000/03/27
あおきです。
[#21889] net/http
— TAKAHASHI Masayoshi <maki@...>
2000/04/14
高橋征義です。
[#21906] Re: net/http
— Minero Aoki <aamine@...>
2000/04/14
遅くなりました、あおきです。
[#21669] new version of mod_ruby & eRuby — Shugo Maeda <shugo@...>
前田です。
14 messages
2000/03/28
[#21681] Re: new version of mod_ruby & eRuby
— Wakou Aoyama <wakou@...>
2000/03/29
青山です。
[#21683] Re: new version of mod_ruby & eRuby
— Shugo Maeda <shugo@...>
2000/03/29
前田です。
[#21671] GoF's Flyweight Pattern — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋秀仁です。
10 messages
2000/03/28
[ruby-list:21320] Re: How does OOP excel?
From:
Hideto ISHIBASHI <s34204@...>
Date:
2000-03-11 05:45:48 UTC
List:
ruby-list #21320
石橋秀仁です。
> 原です。
> この例は、なかなか良いのでありがたく収納いたしました。(何処に?)
どうも(^^)
# でも「収納」って... (^^;;;
> ところで、
>
> 構造化 : オブジェクト指向 = ツリー : ネットワーク
>
> と大雑把に言ったとして、さて、それではなぜオブジェクト指向プログラミング
> は理解しやすく書きやすいのでしょうか。
>
> だって、昔の BASIC なんか、「スパティー・プログラミング」とか言って
> まさにネットーワークそのものだったんじゃないですか?
では、設計手法をおおまかに、
(1) 手続き指向 (PO) (2) オブジェクト指向 (OO)
と分けてみます。BASICもモジュール分割も(1)になります。
それぞれの手法の「着眼点」と「設計の成果物」は、
(1) 手続き、処理、処理の流れ --> フローチャートなど
(2) データ、オブジェクトの協調 --> 静的構造図 (クラス図)、協調図など
ですよね。
さて、それぞれの「ネットワーク」の「頂点」にあたる構成要素
(単位要素)が何なのか、が重要です。フローチャートでは「処理」です。
クラス図では「クラス」、協調図では「オブジェクト」で、どちらも
「データ」です。
フローチャートは処理の流れを与えます。しかし、そのステップごとに
どのデータがどのように変化するのか、調べるのは大変ですね。
人間デバッガと言ってもいいでしょう。
これがフローチャートの問題です。フローチャートが表すのは処理の流れです。
しかし、検証はデータに対して行なっています。処理とデータが結びついて
いません。最も大事な、データの扱いがお粗末になっています。
いっぽう、オブジェクト指向分析設計はデータに注目することを徹底した
手法です。メッセージシーケンス図はフローチャートのような図なのですが、
かならずオブジェクトの「協調」に注目しています。
また、まえに「計算の進行はメッセージ渡し」と書きました。この
「メッセージ渡し」は「(レシーバ)オブジェクトの状態変化」と不可分です。
"a = Person.new('bob'); a.get_sick"と書けば、`a'の状態が変わります。
# メソッドには`this'や`self'という概念がありますよね(*1)。
# (*1)
# その意味で、"String#sub"と"String#sub!"は、オブジェクト指向的には
# "sub!"の動作のほうが自然だと思います (subは毎回dupするから)。
# "!"という余計なものが付いているので、「フツーは"sub"を使うんだな」
# と感じますが、それは意図されたものでしょうね。Stringはプリミティブな
# 型ですし、コードの美的感覚の問題でもあります。「気持よく書く」が
# ポリシーのRubyならではの仕様だと思います。
では結論を。オブジェクト指向の「ネットワーク」が、フローチャートの
「スパゲッティ」よりも理解しやすい(*1)のは次の理由によると思います。
# (*1)
# 構成要素の数が同じなら、機械にとっては五十歩百歩かな
# (テストケースとか)。「人間にとっては理解しやすい」という意味です。
(a) クラスは問題領域中の概念を表わす (例:医療アプリの"Karte")
だから単位要素 (クラスやオブジェクトやメッセージ)の意味が明確である。
(b) 計算の進行とオブジェクトの状態変化が不可分である
(例:"karte.stolen"で"karte.@owner"が変更されるのが明白)。
そのために、オブジェクトの状態の設定/参照用メソッドがあるはず。
ただし、上の(a)と(b)は相互に補完するものです。どちらかを壊すような
コードはかんたんに書けるでしょう(*2)。そういう状態を、ぼくたちは、
「オブジェクト指向していないJavaのコード」
とか呼んでいるように思います(なぜかRubyではない:-)。
# (*2)
# 人間どうしの「約束事」ですから。だからこそ、「人間にとっては
# 理解しやすい」としました。UMLもコードを自動生成するのが目的ではなく、
# エンジニアどうしのコミュニケーションのツールだといいます。また、
#
# From: Matsuo Hisanori <hisanori@sitc.toshiba.co.jp>
# Subject: [ruby-list:21286] Re: 引数コピーとオブジェクト指向
# Date: Fri, 10 Mar 2000 12:48:26 +0900
# Message-ID: <38C87081.BD139527@sitc.toshiba.co.jp>
#
# > 多分荻野さんは「こういうコードも許すようにPersonを実装」すべきではない
# > のか? と思っておられるのでしょう。でも違うんです。ちゃんと分析が出来て
# > いて、スキルの高い開発者間で意思統一が出来ていれば、そういうことは全く
# > 必要がなくなってくるのです。
#
# には大納得できます。
# 以下は余談:
# ソフトウェア工学の最重要課題は、構成要素数における「マジックナンバー」
# の達成だと思います。「マジックナンバー」というのは、「人間が一度に
# 把握できる項目の数」で、定説では「7±2」です。
## どんな図でも、ぱっと見て、要素が7つ程度なら、すんなりわかるよね?
# そのための手法として、分割統治という階層化や分散化によって、複雑度を
# 軽減するのが、あらゆるソフトウェア工学の手法に通じる考え方だと思います。
# 「メッセージ渡し」と「オブジェクトの状態変化」について:
# シーケンス図を使うと、「処理の流れ」に偏る悪癖が出てしまいそう。
# その意味では、同じ相互作用図にしても、シーケンス図より
# コラボレーション図のほうが気が楽かも。
# もっとぶっとんだ発言:
# 「関数型」と「オブジェクト指向」って方向性が逆ですよね。
# 関数は、「それが、いつ、何回目に呼ばれても、同じ結果を返す」。
# いっぽうで、「オブジェクト」=「データ」=「内部状態」ですから。
# 「純粋な関数型の、オブジェクト指向言語」ってあるのでしょうか?
# てゆうか意味があるのでしょうか?
--
Hideto "rubyholic" ISHIBASHI