オブジェクト指向の活用方法を教えて下さい

■ このスレッドは過去ログ倉庫に格納されています
2014/03/25(火) 21:44:07.66ID:AtcH5MLU
お願いします。言語は問いません。
オブジェクト指向言語じゃなくても
オブジェクト指向の話であれば問題ありません。
2014/03/30(日) 03:10:55.68ID:DA7dDHvX
メソッドチェーンだと書いている順番に
処理が実行されるからわかりやすいんだよな。
オブジェクト指向だと、メソッド名短くても
かぶらないからその点でもメリットがある。
2014/03/30(日) 03:11:55.59ID:F8tYL6fO
なあんだ!どっちの目を使うかなんだね!
2014/03/30(日) 03:28:36.95ID:DA7dDHvX
> baz(bar(foo(value))) という逆順で書くのではなく、
これって引数無いからまだわかりやすいけど、
引数あると見にくいんだよね。

baz(bar(foo(value, 1, 2), true), "test");

呼び出しが深くなるにつれて、bazと"test"みたいに距離がどんどん離れちゃう。


これがメソッドチェーンだと
value.foo(1,2).bar(true).baz("test");
このように関数と引数が近くに集まる。
2014/03/30(日) 03:30:32.83ID:DA7dDHvX
これもオブジェクト指向の活用方法の一つだろうね。
2014/03/30(日) 03:34:47.32ID:eSXxjJTc
だらだら連ねて1文に詰め込むのはデバッガで追いにくくなるからあまり好きじゃない。
2014/03/30(日) 11:13:41.29ID:CUSBQvN9
>>139
>オブジェクト指向の必要性とは、規模とか複雑さとか再利用性の問題だから、

はずれ。
2014/03/30(日) 11:13:50.33ID:Ep1/Keko
返り値をチェックして独自のエラーログを出したいw
2014/03/30(日) 11:14:24.92ID:CUSBQvN9
>>146
どんなオンボロデバッガ使ってんだ?
2014/03/30(日) 11:52:19.72ID:DA7dDHvX
>>146
つまり、

baz(bar(foo(value, 1, 2), true), "test");

こういうのを

v = foo(value, 1, 2);
v = bar(v, true);
v = baz(v, "test");

って書くってこと?

おっと、メソッドチェーンとは関係ない話だったから
関数の方でレスしちゃったw
2014/03/30(日) 11:57:24.64ID:IecYjjCX
>>149
> value.foo().bar().baz()

bar( ) の挙動確認したいから、この行の bar( ) の呼び出しでブレーク掛けられるデバッガ教えてくれ
2014/03/30(日) 12:01:26.08ID:DA7dDHvX
訂正(笑)

> baz(bar(foo(value, 1, 2), true), "test");

bar( ) の挙動確認したいから、この行の bar( ) の呼び出しでブレーク掛けられるデバッガ教えてくれ
2014/03/30(日) 12:07:13.82ID:DA7dDHvX
メソッドチェーンならこれが使える。

メソッドチェーンの p デバッグ? それ tap でできるよAdd Starasakichy
http://d.hatena.ne.jp/mas-higa/20100805/1281018189

function p(obj) { print obj }
value.foo(1,2).bar(true).tap(p).("test");


まあ関数でも使えるよ。見難くなるけどねw
baz(p(bar(foo(value, 1, 2), true)), "test");
2014/03/30(日) 12:32:55.33ID:rCEPh8in
難しいことをしようとすれば、何を使っても複雑になる。
言語やパラダイムが複雑なんじゃなくて、解決しようとしている問題が複雑なだけなんだ。
2014/03/30(日) 12:47:55.23ID:DA7dDHvX
えと、ああ、うん、
言語の違いっていうのは、問題がどうとかじゃなくて
読みやすさと書きやすさの違いの話なんだけどね。
2014/03/30(日) 13:17:38.07ID:CUSBQvN9
>>151
え?そんな簡単なこともできない開発環境でオブジェクト指向とか大笑いだな
2014/03/30(日) 13:27:57.55ID:3Fl9YNZ5
>>141
>シェルスクリプトで言えば
>cat var | foo | bar | baz というのを
このとき、foo や bar が何もしないプログラムであっても baz の前に入れることに
意味はありますか?関数型で組む場合は、何もしない関数 foo(), bar() を挟み込む
発想になったことがありません。必要になったとき、何かをしたくなったとき、その
ときに追加しています。
2014/03/30(日) 13:31:27.59ID:amVAfrHC
>>102
思うことは二つある。

1) 結局中身って見なくてもよくね?
どんな糞名前、糞用途でもAPIとして資料があって

 int aaaaaaaaabbbbbbbbbbb(int x, int y)
 x + yが素数のとき0を返し、それ以外のときyを返します。

となっていれば、中身は見なくてよくね?
実装なんてどーでもいいし想像したくもない。

2) 用途と名前が優れていればなおよし
シンプルな名前で表現されていれば、
APIリファレンスを紐解くことすら不要。
bool isprime(int x)ならこれだけで十分。
2014/03/30(日) 13:35:22.35ID:qbWQb+53
継承とインターフェイスだけで十分便利
2014/03/30(日) 14:01:44.17ID:qe+yThv9
>>157
たぶんお前の説明が下手くそだと思うんだが、いかなる場合も何もすることがない関数なんて言語問わず存在意義あるわけないじゃん
メソッドチェーン関係なく単に修正ミスとかだろ

もしくは、お前が知らないだけで何かの意味があるんだよ
よくみるなら具体例出してみろ
2014/03/30(日) 14:29:06.62ID:rCEPh8in
With...End With ステートメント (Visual Basic)
http://msdn.microsoft.com/ja-jp/library/wc500chb.aspx

メソッドチェーンなんていらない。
言語側でwithステートメントを用意すれば済む話。
2014/03/30(日) 14:30:58.29ID:DA7dDHvX
それでどうやって一行で書くの?
2014/03/30(日) 14:44:34.88ID:rCEPh8in
かりにメソッドチェーンという糖衣構文があるからといって実際に使う時は
object.func1(arg1, arg2, arg3)
    .func2(arg1, arg2, arg3)
    .func3(arg1, arg2, arg3)
    ...
    .funcN(arg1, arg2, arg3);

って書くわけで、別にワンライナーしたいとかいう話ではないはず。
一つのオブジェクトに対して連続的にメソッドを呼び出す場合に、
それが手続きや意味ある関連として成立しないならまぎらわしいからやめろっていうのが
>>137-138の主張じゃないの。
2014/03/30(日) 14:58:29.04ID:DA7dDHvX
メソッドチェーンまで糖衣構文かよw
これのどこが構文なんだ?
ライブラリの仕様だろ。
2014/03/30(日) 15:11:02.31ID:qe+yThv9
Withは見にくいからやめろという主張をよく聞くが

メソッドチェーンの利点はメソッドで加工を行ってそれを別のメソッドに引き渡せるっていうこと
同じオブジェクトにたいして関連したメソッドをいくつも呼ぶ時も行を分けたりとかしなくて済むから見やすい
2014/03/30(日) 15:11:12.60ID:yCsw+RdE
>>163
糖衣?…構文??
2014/03/30(日) 15:17:34.92ID:rCEPh8in
>>165
withが見にくくてメソッドチェーンが見やすいってのも変な話だな。
記述に大差ないのに。
2014/03/30(日) 15:39:47.59ID:J3oHNw57
みんな、見やすいかどうかは
文字列の長さや行数で変わるってことを
理解してないよ。

たとえばこの二つ。

var newValue = value.fooFooFooFooFooFoo().barBarBarBarBarBar().bazBazBazBazBaz();

var newValue = value.foo().bar().baz();

単に文字列の長さが違うだけでやってることは全く一緒。
だけど上の方は見難くて下の方は見難くはない。

つまりどういうコードが見やすいかどうかは、単に文字列の長さだけでも変わってくるということ
だから文字列が長くなる場合にメソッドチェーンで一行にすることは不適切。
逆に言えば、文字列が短い場合に有効なのがメソッドチェーンというわけ。

withが見やすいのは、文字列が長くなった場合の話で
短いならばメソッドチェーンの方が見やすい。

どちらが、どんな場合でも見やすいなんてことにはならないんだよ。
2014/03/30(日) 15:47:45.96ID:rCEPh8in
短かろうと一行にするのはよくないと思うな。
オブジェクトが無い場合に

foo(); bar(); baz();

なんて書けるけど、実際はたとえ関連があっても横に連ねては書かないし。
メソッドチェーンにしたって
graphics.clearRect(0,0,640,480).drawRect(100,100,50,50).drawCircle(50,50,100)...
なんて横には書かなくね。
2014/03/30(日) 15:49:43.00ID:J3oHNw57
> foo(); bar(); baz();
>
> なんて書けるけど

書けないよ。

baz(bar(foo()));

こうだろ
2014/03/30(日) 15:53:47.22ID:rCEPh8in
>>170
今の話の流れにおけるメソッドチェーンでは
自身のインスタンスをreturnするから、
その例のような意味でつなげてるのでは無いよ。
2014/03/30(日) 15:58:50.57ID:J3oHNw57
>>170
インスタンスに対して操作をするんだろう?

じゃあ、何らかの引数がなければ、
同じ意味にならないじゃないか。
2014/03/30(日) 16:33:15.45ID:IecYjjCX
>>156
で、具体的なデバッガの名前とやり方は?
2014/03/30(日) 17:17:26.79ID:CUSBQvN9
>>160
関数型言語ではid関数は重宝するぞ
2014/03/30(日) 17:34:15.13ID:qe+yThv9
>>169
複数の文を一行で書くのはなんか嫌だけど、メソッドチェーンなら気にならないな
ifの後ろとかにつけていたい目を見そうだからかな

しかし、メソッドチェーンもやっぱりAndroidみたいに何十行にも渡るのは読みかにくいからせいぜい数行が限度だとは思う

逆に数文字の命令が何十行にも渡って書かれる光景はイライラする

>>174
関数型言語はわからんが、重宝するならなんか意味があるんだろ?
2014/03/30(日) 18:01:52.30ID:3Fl9YNZ5
>>160 具体例は公開できないので申し訳ない
その1. メソッド名が訳の分かる名前ならば、その中身を心配して見にいく必要はない
   ⇒ これはレスや参考図書がよく使う 'foo' だの 'bar' だののレベルの名前を開発
    しているプログラムに使っていることが問題なのだと思う
その2. 場合によっては改名するつもりで中身を見にいくと、なんでこれを括りだしたの?
   という疑問が発生(もとから括り出す必要はなくて、名前も要らないんじゃないの?)
   ⇒ メソッドの中身をメインルーチンにコピペして解決!!
オブジェクト指向の話がいつの間にかコピペの話に...

オブジェクト指向って、どんな場合に役に立つのか、また活用方法を知りたい
のです
あるいはオブジェクト指向があるから常に使わなければならない、という考えは
間違いで、使うか使わないかは便利か便利じゃないか、解決しようとしている
問題や環境・状況に合わせて、判断すればいいものなのか?
そのとき、判断材料には本人や周りのひとのスキルを含めなくていいのか?
人のスキルに関係なく、いつでも・絶対にオブジェクト指向が有利なのか?
メソッド呼びさえしていればオブジェクト指向なので後ろ指さされることは
ないものなのか?
2014/03/30(日) 19:02:38.40ID:qe+yThv9
>>176
なんだ、昨日の続きならそうかけよ

当然、 fooとbarとかの名前なら書いたやつが無能なだけ。
jQueryとかrubyみたいにわかりやすい名前がいい
中身はどこかでまたつかうとか、メソッドチェーンでシンプルに書けるなら有用かもしれない


オブジェクト指向は完璧ではないし、スキルがない人ならやらなくてもいいんじゃない?
ただし、C#とかJavaみたいにオブジェクト指向ありきで設計された言語はやっぱり知識は必要
標準ライブラリ自体オブジェクト指向専用だからね
C#でStreamではなくFileStreamしか受けないメソッドとかを作ってしまったら不便だし、不要なフィールドを公開したら危険だ
2014/03/30(日) 22:50:01.50ID:rCEPh8in
>>176
オブジェクト指向を使うと、同じものを2つ以上同時に扱うのが簡単なんだよね。
2つのファイルを同時に編集するとか
ぷよぷよの画面を2つならべてみるとか
5人のボンバーマンが同時に動くとかさ。
2014/04/01(火) 20:30:56.47ID:c88mFqYR
>>173
スモールトーク系のデバッガーはメソッドチェーンのそれぞれのメソッド呼び出しごとにステップ実行できるらしいよ
2014/04/01(火) 21:54:52.60ID:WgoYILFU
>>179
具体的な名前書けっつーてるのに...
結局 ID:CUSBQvN9 は口先番長かよ (w
2014/04/02(水) 21:15:51.80ID:R40jOAQ7
性能低下を防ぐためにメソッドの内容をメインルーチンに直に展開する作業は、
処理系にまかせることもできるだろうが、それによって多態性は失われる。
それよりもソフトウェアを細かく分割して構成する以上、バージョンの依存
関係が複雑に絡み合うほうが問題として大きい。
2014/04/02(水) 21:49:26.89ID:YdJBhj/R
>>180
スモールトークっていったらスクイークとかじゃないの?
口先番長認定するまえに自分で調べてみたの?
口の中にご飯をスプーンで入れてもらうまで
馬鹿みたいに口開けて上を向いているタイプの人なの?
2014/04/02(水) 22:04:27.79ID:UHLZ3L7X
>>182
で、そのスクイークとやらは、ブレークかけられんのか?
当然調べたんだよな (w
2014/04/03(木) 00:45:59.14ID:OChVK7bs
>>4
ポリモーフィズムはリリースされたプログラムをユーザーが部分的に更新しな
がら使う(ライブラリやDLLを更新する)と、プログラマが当初考えていた以上
の使われ方をして、動作の保証ができなくなる、ってことにならないの?
昔でいうgoto文や、メモリーリークを起こしがちなC言語のポインタみたいに
やっかいなことにならないの?
2014/04/03(木) 00:59:50.75ID:p51daBHj
動作の保証ができなくなるようなことを許すのは単なる欠陥でしょ
2014/04/03(木) 02:22:36.23ID:Dr19mwRL
メソッドごとにコメントアウトすればいいよ
てかメソッドチェーンとしてのチェックってあるかね
2014/04/03(木) 04:56:35.67ID:4OpITLe5
>>183
できないと思ってるの?
2014/04/03(木) 07:32:45.27ID:7TERZTkc
>>187
できるんなら、その方法書いてくれ。
2014/04/03(木) 08:26:44.88ID:oN99KWq6
いい加減に認めろよ……

そもそも仮に「メソッドチェーンはデバッグできない」としても、それは「オブジェクト指向」を否定するのに大事な要素でもないじゃん
何かこだわりでもあるの?
2014/04/03(木) 08:48:37.07ID:syg3Ul2m
>>189
> いい加減に認めろよ……

何を認めるんだ?
ブレーク掛けられるなら >>151
が情弱と言うことだし、かけられないなら >>156 が口先番長と言うだけのことだろ。
どこから、オブジェクト指向の否定が出てきたんだよ (w
2014/04/03(木) 15:05:44.04ID:v6ez+Y0x
>>188
ちゃんとしたSmalltalk処理系では(つまりGNU Smalltalkとかの変わり種を除けば)一般に
value foo halt bar baz で、bar のコール直前でデバッガを起動させて bar のステップ実行ができる
ってそういうことではなく? ちなみに halt は古典的なSmalltalkにおけるブレイクポイントみたいなもの。
2014/04/03(木) 15:25:06.01ID:hov1QvrO
みんなSmalltalk使ってたのかよ
2014/04/03(木) 17:07:01.60ID:4OpITLe5
スモールトークがオブジェクト指向の元祖だからな
スモールトークでできるならオブジェクト指向の欠点とは胃炎な
2014/04/03(木) 17:16:43.96ID:hov1QvrO
ていうか、一つの式に詰め込んだら便利かどうかなんてオブジェクト指向と関係なくね?
2014/04/03(木) 19:17:35.74ID:/A78gSRK
Smalltalkには、コードを英文のように読み下せるように書く慣習みたいなものがあって、
value foo bar baz みたいな式だとちょっとメリットをイメージしにくいですが、たとえば
「1 から 9 までの数を配列にして、それをシャッフルして最初の3つを得る」みたいな処理を、
(1 to: 9) asArray shuffled first: 3 というふうに一気にメソッドチェーンにして書くようなことはよくします。

そんなこともあって、メソッドチェーンだからデバッグしづらいというような制約はほとんどうけない仕組みになっています。
2014/04/03(木) 20:08:44.08ID:JDC55uKf
>>194
そもそもオブジェクト指向についてあんまり語ってないからいいんじゃね
2014/04/03(木) 21:23:31.55ID:y3U0PHNW
>>191
なるほど、ブレーク+ステップ実行なのね
まあ実用上は十分かな
C# とかでもできるようにしてほしい
2014/04/04(金) 00:28:50.72ID:T327aBHM
C++じゃなくてObjective-Cが流行ってれば
オブジェクト指向絡みの論争は半分になったんじゃないかと
思えてしかたがない。
オブジェクト指向が、じゃなくてC++が採用した方法は、な議論大杉
2014/04/04(金) 01:37:59.49ID:G1RCkua4
クラスベース vs プロトタイプベース
2014/04/04(金) 01:52:31.25ID:h1F261Ig
Objective-C十分流行ってるじゃん
2014/04/04(金) 03:12:14.91ID:T327aBHM
ここ5年ぐらいでiOS用で一気に拡まったけど90年代を通じて
一般の想定するオブジェクト指向と言ったらC++だったからな…
90年代後半からはそこにJavaが加わり…的な。
ある意味バカみたいに基本に忠実なObjective-Cの方が
オブジェクト指向とは〜って議論のたたき台としてはよかったよな的な。
2014/04/04(金) 07:15:48.10ID:R/rpZwB2
>>197
と言うか、行単位でのブレークポイントなのはデバッガの都合でしかないんだよなあ
2014/04/04(金) 07:36:28.20ID:KeYVoIFc
>>202
式の途中にブレークポイントを入れるのはデバッガだけでは無理っす。
2014/04/04(金) 08:06:13.57ID:JslAeCyW
>>203
いや、だからそれって 今の デバッガだからだろ?
技術的にできない訳じゃなかろ
2014/04/04(金) 09:05:42.51ID:KeYVoIFc
最低限、コンパイラにも手を入れる必要があると思うぞ。
2014/04/04(金) 10:52:39.43ID:N5FO4XZ5
デバッガのブレークポイントの指定が
行単位ってだけで、関数単位でのステップは可能。

そして関数単位で止めたいなら
関数ごとに改行すればいいだけじゃない。
2014/04/04(金) 13:07:13.88ID:JslAeCyW
>>206
> デバッガのブレークポイントの指定が行単位ってだけで、

たいていの IDE は行単位ではなくてステートメント単位じゃね?

> 関数ごとに改行すればいいだけじゃない。

そもそもそんなことしたくないか、発端だろ。
デバッグのためにソース弄るとかは最後の手段だろ。
2014/04/05(土) 08:19:53.84ID:nKpGUjgO
>>206
だーかーらー、
コンパイラが出す行情報以外にどうやって
ブレークかけるアドレスを取り出すわけ?
関数ごとに改行したところで
普通のコンパイラはステートメント単位でしか行番号情報ださねーぞ。

もしかして、単にデバッガのUIの問題だと思ってた?
甘杉
2014/04/05(土) 08:39:06.87ID:OXL1p1Q1
そういうスレたててやれ
2014/04/05(土) 10:05:58.71ID:AlWzj+6w
いったいどのデバッガやコンパイラについて話してるのか知らんが、
VS2013とかにはメソッドチェーンのデバッグ機能あるぞ……
メソッドチェーン中の個々のメソッドについて戻り値とその型を表示してくれる
2014/04/05(土) 12:34:58.04ID:zg062x0r
>>1
mvcで作ればなんとなくわかる
2014/04/05(土) 21:29:41.29ID:LGGjyQ0u
オブジェクト指向を使うには、変数や関数がある程度以上の個数がないと無意味。
あとインスタンスが2個以上必要な場合じゃないと意味がない。
俺の分野ではどちらも当てはまらないので、オブジェクト指向が活用できない
という結論に至った。みんな、ありがとう。
2014/04/05(土) 21:49:36.29ID:anSZmmIR
オブジェクト指向が活用できない分野ってどんな分野よ
2014/04/05(土) 22:16:36.14ID:iKzYf4PO
書き換えて再利用とか機能の追加が少ない機械みたいな分野だったら
(構造化言語の)Cそのまんまで十分じゃないの、とは思う。
2014/04/06(日) 06:09:18.41ID:IRmFVDmN
>>212の日本語訳
「俺がいつも書くコードはオブジェクト指向になっていない。
だから俺の分野ではオブジェクト指向は使えない。」

「オブジェクト指向」の部分にどんな技術を入れても成立する
魔法の言い訳だな。
2014/04/06(日) 06:50:21.75ID:7fCDh1Rd
同じものが沢山作れる、ってのは確かにオブジェクト指向のミソだが、
インスタンスが一つだろうと、オブジェクト指向プログラミングによって得られるものは色々あるぞ
再利用性とか、単体テストのしやすさとか、拡張性とかな

あと、オブジェクト指向プログラミングの重要なデザインパターンに「シングルトン」というのがあって、こいつはインスタンスを一つに限定するものなんじゃな
インスタンス一つだから役に立たない、ってのは世の中のプログラマには通じないと思われる
2014/04/06(日) 09:28:19.55ID:v5F7vKVc
記述側がより人間の思想に近くなったメリットと、実装側でからくり(C++ なら vtable)を生成コードに常に追加するコストとを天秤にかけたら、どっちに軍配があがるかは人それぞれだね
ライナスは OO をぼろくそにけなしているね
2014/04/06(日) 11:55:32.65ID:X8q2hYwd
>>216
> 再利用性とか、単体テストのしやすさとか、拡張性とかな

単体テストはべつにして、再利用性とか拡張性とか広い意味では複数インスタンスじゃね?

あと、同じものをたくさんじゃなくって、ちょっと違うものを作れるって言うのがミソかと。
2014/04/06(日) 12:55:51.09ID:hTzu53D+
>>217
> ライナスは OO をぼろくそにけなしているね
ライナスだけじゃね?w

しかも俺らはカーネル作ってるわけじゃないから、
用途によって言語は変えるべきという正しい考え方からすると、
ライナスが何言っても何使っても関係ないよねw
2014/04/06(日) 12:56:37.04ID:hTzu53D+
どっちに軍配があがるかは人それぞれというより
用途によりけりってことだろう。

で、大概の用途にOOに軍配が上がると。
2014/04/06(日) 13:06:24.24ID:N1Ox9kUH
ここまでの内容ならライブラリで十分。オブジェクト指向は不要。
2014/04/06(日) 13:16:36.50ID:nZeav+Zp
ライブラリとオブジェクト指向を同列に語ってる馬鹿は黙ってろよ
2014/04/06(日) 13:29:28.28ID:d9KztC3X
こういうのを見ると、やっぱりオブジェクト指向が一般的であることがよく分かるよ。

.NETにおけるSOLID設計原則とデザインパターン
http://www.infoq.com/jp/news/2013/09/solid-principles-revisited

SOLIDとは5つの設計原則の頭字語である。氏の簡潔な説明を借りれば:

単一責務の原則(Single Responsibility Principle)
  すべてのオブジェクトは唯一の責務を持たなければならない。すなわち,実行することはただひとつでなければならない。

開放/閉鎖の原則(Open-Closed Principle)
  クラスは拡張に対しては開いて(Open),修正に対しては閉じて(Close)いなければならない。

Liskovの置換原則(Liskov Substitution Principle)
  派生クラスは親クラスの置換として使用可能でなければならない。なおかつ,同じ振る舞いをしなければならない。

インターフェイス分離の原則(Interface Segregation Principle)
  使用しないインターフェースへの依存をクライアントに強制してはならない。

依存関係逆転の原則(Dependency Inversion Principle)
  具体的な実装よりも抽象に依存するべきである。これはコードの分離に有効だ。
2014/04/06(日) 17:51:43.94ID:v5F7vKVc
>>223
vtableを生成コードに常に追加するコストに見合うものかどうか疑問だね
2014/04/06(日) 18:19:41.32ID:7fCDh1Rd
vtableの生成コストとか言い出したら、スクリプト言語なんて論外じゃねーかw
2014/04/06(日) 18:34:59.08ID:C74PoYgz
C++だとvtableは必要なとこにしか付かないよね
2014/04/06(日) 18:36:50.32ID:XoDYwo6S
ぷらぷら。ぼくはvirtualなメソッドじゃないよ。
2014/04/06(日) 18:37:51.19ID:ZbP0XCh9
なんでここだけC++初心者スレみたいになってんの?
2014/04/06(日) 18:39:42.35ID:7fCDh1Rd
一番知名度のあるオブジェクト指向プログラミング言語はJavaの筈なのにね
2014/04/06(日) 18:44:04.82ID:wJ4fkLfq
致命度?
2014/04/06(日) 20:38:36.74ID:IDxsBa0K
いいや、Objective-Cが最後に勝つね
2014/04/06(日) 20:55:17.94ID:C74PoYgz
Objective-C++が節操なくて素敵だよw
2014/04/09(水) 01:49:33.61ID:eVIzB16V
オブジェクト指向に相対するパラダイムってなによ
関数型+代数的データ型?
2014/04/09(水) 03:10:51.74ID:j9Z2BVsM
それは相対する、ってほどでも無いような
オブジェクト指向自体も考え方が複数あるからなあ…
関数型はともかく、手続き型でオブジェクト指向に真っ向から相対して組むとすれば

・データと処理がお互いに依存しないように組む、例えば特定のユーザ定義型に依存する処理などは控え、ひとつずつ引数で渡してもらうなどする
・モジュールは流れに沿って切り分ける、例えば全てのデータはデータモジュールに、全ての初期化は初期化モジュールに、本処理はメインモジュールに書く

とか、そんな感じになるのかな
2014/04/09(水) 08:48:53.28ID:lgQL/971
向いてる方向が違うんだから、遠い近いはあるだろうけど相対って言うのはないんじゃね?
2014/04/09(水) 17:51:40.57ID:iVtPfWG1
>>129
DDD?ってこれパラダイムじゃないか
2014/04/09(水) 18:41:01.22ID:rvzGfgdi
昔DDDっていうデバッガ使ってたな...
2014/04/09(水) 21:00:52.84ID:TCIMdxjw
DDT (CP/M-80) じゃなくて?
2014/04/09(水) 21:03:36.40ID:rvzGfgdi
>>238
gdbのGUIフロントエンドだよ
2014/04/10(木) 22:59:06.71ID:EbsHnFyb
最近ベクトル演算をする必要が出てきたので、オブジェクト指向のプロパティを
使って実現しようと考えている。

○か×か?
2014/04/10(木) 23:07:48.12ID:c1sQcFAM
>>240
どう見ても「君には」×
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況