オブジェクト指向システムの設計 173at TECH
オブジェクト指向システムの設計 173 - 暇つぶし2ch1:デフォルトの名無しさん
17/08/08 17:52:14.38 4Kd2O+xB.net
前スレ
オブジェクト指向システムの設計 172
スレリンク(tech板)
類似スレ
手続き型システムの設計 1
スレリンク(tech板)

2:デフォルトの名無しさん
17/08/08 18:08:45.58 ZsjYzbGD.net
前スレ >>996
> 関数型はそれが出来るというより
> 意図的に排除する仕組みが言語仕様で用意されているといったほうがいいな
ほう
では、「発送済みなら注文キャンセルできない」コードを示してみて

3:あ
17/08/08 19:29:01.58 y4ztJzgK.net
一体何がおかしかったのかわからん。

4:デフォルトの名無しさん
17/08/08 21:34:38.17 OPNa8W2g.net
>>1
クソスレをさも当然のように張るなゴミ屑
PHPでも使って死んでろゴミ屑
死ねゴミ屑

5:デフォルトの名無しさん
17/08/08 21:44:02.11 jXIjDDES.net
>>2
違う話に移る前に
> 関数型はそれが出来るというより
> 意図的に排除する仕組みが言語仕様で用意されているといったほうがいいな
ということには納得したの?

6:デフォルトの名無しさん
17/08/08 22:54:20.01 m8GLf68F.net
別のスレからだけど丁度よいタイミングだったから転載するわ
413 名前:デフォルトの名無しさん[sage] 投稿日:2017/07/23(日) 00:54:24.08 ID:4pTb5xvQ [2/2]
           ┌─マシン語
           │
言語のレベル─┼─低級言語
           │            ┌─コンパイラ型
           └─高級言語─┤ 
                         └─インタプリタ型
        ┌─手続き型
        │
        │         ┌─宣言型
        │         │
文法─┤         ├─関数型
        │         │
        └ 非手続き型─┼─論理型
                   │
                   ├─グラフィック型
                   │
                   └─問い合わせ
                           
パラダイム─オブジェクト指向
                           
URLリンク(webrylabo.blogspot.jp)
2009年11月28日土曜日

7:デフォルトの名無しさん
17/08/08 23:06:11.89 QlAWaCDH.net
構造化手法がないぜ!

8:デフォルトの名無しさん
17/08/08 23:12:19.94 m8GLf68F.net
それは俺も思った
手続き型のカテゴリにでも入れとけばよいんじゃないですかね
オブジェクト指向はレシーバーにメッセージをディスパッチするってだけの事だから
特にどこに属するってものでも無いのが良くわかるな

9:デフォルトの名無しさん
17/08/09 10:30:25.52 44tTrGN4.net
>>5
> 違う話に移る前に
違う話って何?
もともとの話なんだけど
> ということには納得したの?
納得するかどうかは、コード見てからだね

10:デフォルトの名無しさん
17/08/09 10:42:09.50 44tTrGN4.net
話がずれないように軽くまとめとくと、注文のキャンセル問題には三つの着眼点がある
1. キャンセルすることを禁止されているため呼べない(権限による制限など)
2. キャンセルは許可されているが、すでにキャンセル不可の状態になっている
 (キャンセル可否チェックの時点で、既に発送済みだった場合)
3. キャンセルは許可されていてキャンセル可能状態だが、実行してみたらキャンセルできなかった
 (トランザクションの一貫性の問題)

11:デフォルトの名無しさん
17/08/09 13:20:32.85 sH0CwjHm.net
キャサリンの本当の状態はいくつあるん?

12:デフォルトの名無しさん
17/08/09 13:24:49.74 sH0CwjHm.net
権限なし
権限あり
  アクティブ
  非アクティブ
    問い合わせ中
    済み
    うんこ中
リザルト
  うんこ
  非うんこ

13:デフォルトの名無しさん
17/08/09 21:30:53.29 6lirvFze.net
>>9
じゃあこの話に戻ろうかね
> 関数型はそれが出来るというより
> 意図的に排除する仕組みが言語仕様で用意されているといったほうがいいな

14:デフォルトの名無しさん
17/08/09 21:31:43.00 6lirvFze.net
関数型に言語仕様で用意されている
"意図的に排除する仕組み"とはなに?

15:デフォルトの名無しさん
17/08/09 22:02:15.81 hEgnFYnk.net
そんなの自分で勉強しろよ
何でも教えてもらえると思うな

16:デフォルトの名無しさん
17/08/09 22:06:00.81 hEgnFYnk.net
手続き型言語は副作用があるのが前提で
その場合、結果が処理順に影響するけど
関数型言語は意図的にそれを排除する仕組みがある
それだけ

17:デフォルトの名無しさん
17/08/09 22:18:24.91 6lirvFze.net
>>16の説明に納得してから
次の話題に入りましょう

18:デフォルトの名無しさん
17/08/09 22:27:55.99 eM0BjlR2.net
意図的に副作用を排除するって大雑把すぎるな
そんなん言ったらどの言語でも同じ

19:デフォルトの名無しさん
17/08/10 11:40:37.46 3830aR0n.net
>>16
その仕組みを説明しなよ

20:デフォルトの名無しさん
17/08/10 11:46:48.00 91EfFD+U.net
手抜き型言語ってか

21:デフォルトの名無しさん
17/08/10 11:49:51.99 sRASy4ht.net
片っ端からImmutableにしとけば副作用なんて簡単に排除できるわな

22:デフォルトの名無しさん
17/08/10 12:28:26.86 3830aR0n.net
DBに保存とか表示するとか出力も副作用だろ

23:デフォルトの名無しさん
17/08/10 12:36:34.29 sRASy4ht.net
それは期待する振る舞いだから副作用とは言わん

24:あ
17/08/10 12:42:06.85 JPFASHG9.net
>>23
その意味の「副作用」って薬とかのそれじゃないの?

25:デフォルトの名無しさん
17/08/10 12:46:42.98 sRASy4ht.net
>>24
状況次第

26:デフォルトの名無しさん
17/08/10 12:53:02.81 dTV8MPgF.net
なんでも状況次第になるね

27:デフォルトの名無しさん
17/08/10 12:53:54.30 3830aR0n.net
副作用の定義からかよ
ロジックや計算という作用と、出力等の副作用を分けましょうね
って指針じゃないの

28:デフォルトの名無しさん
17/08/10 12:59:33.35 sRASy4ht.net
この業界ってなんでも状況次第だろう
状況無視して単語と意味を1:1で紐付けるのは素人の考え方

29:あ
17/08/10 13:03:48.96 JPFASHG9.net
副作用の無い、と聞くと、永続化しないもので、リエントラント可能で、入力と出力が常に一定、とイメージしてしまうな。
そういう意味ではDB保存するデータを作る部分が副作用無い関数で、実際に保存する部分がデータを作る部分に対する副作用と言うか作用そのものなのか。

30:デフォルトの名無しさん
17/08/10 13:19:54.10 Jc4Vqs2x.net
物理的に見ればどんな処理だろうと副作用を避けることはできない
なので、どこまでを副作用とみなすか? という定義の話になる
そしてそれはコンテキストに依存した問題だ

31:デフォルトの名無しさん
17/08/10 13:36:05.56 HGihyxQL.net
とりあえずJava、C++、C#などのOOPは手続き型のOOPだから
それで問題ない

32:デフォルトの名無しさん
17/08/10 13:40:11.21 Jc4Vqs2x.net
それはマルチパラダイムでしょ

33:デフォルトの名無しさん
17/08/10 15:09:36.27 HGihyxQL.net
じゃ、手続き型のマルチパラダイム言語だね

34:デフォルトの名無しさん
17/08/10 15:14:43.44 TjDaZrJ6.net
プログラミングにおける副作用(ふくさよう)とは
ある機能がコンピュータの(論理的な)状態を変化させ
それ以降で得られる結果に影響を与えることをいう
代表的な例は変数への値の代入である

35:あ
17/08/10 15:26:35.32 JPFASHG9.net
>>30
微妙に賛同しかねるな。
クエリ言語系は、純粋なものと純粋ではないものを別けて考えてると思う。
オブジェクト指向でもなんでも。
SQLのSelectとか、XQueryでの検索とか、色々。
couchdbなんかは、純粋でないものがホントに更新系みたいな書き方できるし、純粋でない操作をされたらその段で他の純粋な操作の結果を先に作りに行くから、問い合わせ滅茶苦茶早いし。
避ける事は出来ないが、コンテキスト依存ならしっかり決めた方が幸せでは?

36:デフォルトの名無しさん
17/08/10 21:20:10.00 x7OPh5BN.net
現在の日時を取得するDate.now()は
副作用がある関数でしょうか?

37:デフォルトの名無しさん
17/08/10 21:37:57.25 TjDaZrJ6.net
>>36
ないでしょ
関数を呼び出すことによって時間が変化してるわけじゃないんだから

38:デフォルトの名無しさん
17/08/10 21:44:10.82 x7OPh5BN.net
ではランダムな値を返してくれる関数は
副作用があるのでしょうか?

39:デフォルトの名無しさん
17/08/10 21:45:09.99 TjDaZrJ6.net
Date.now()を使った関数は参照透過性を満たさないだろうけど
副作用がないならば参照透過性を満たす は偽ってことですな

40:デフォルトの名無しさん
17/08/10 21:45:55.45 TjDaZrJ6.net
>>38
疑似乱数であれば内部に状態を保持してるはずよ
なので副作用はある

41:デフォルトの名無しさん
17/08/10 21:57:53.53 x7OPh5BN.net
>>40
外から見えない内部状態の変化でも
副作用ってことになるの?
じゃあSQLのselect実行して実行ログ記録された場合は
副作用になるの?

42:デフォルトの名無しさん
17/08/10 22:05:21.46 TjDaZrJ6.net
>>41
| 副作用(ふくさよう)とは
| ある機能がコンピュータの(論理的な)状態を変化させ
| それ以降で得られる結果に影響を与えること
擬似乱数の場合は内部の状態を変化させてその後の結果に影響を与えるから副作用だよ
ファイルの入出力が副作用だからログの記録も副作用なんじゃないかな
実行ログを結果と見るのだろうね

43:デフォルトの名無しさん
17/08/10 22:31:11.05 2UCJzaDv.net
レジスタを書き換えたら副作用な

44:デフォルトの名無しさん
17/08/11 09:48:48.76 uuzmQ1J4.net
>>36
副作用と呼ぶかどうかは置いといても
テストしやすいようにラップしとくとこだな
乱数も

45:デフォルトの名無しさん
17/08/11 10:17:57.22 3EZq4DC0.net
int unkoHash(int x) {
Random r = new Random(x);
int n = r.nextInt();
for (int i = 0; i < 10; ++i) n ^= r.nextInt();
return n;
}
乱数を使ってるが副作用は全くないぞ
何度も言ってるけどこの業界は何もかもが状況次第でしかないんだよ
乱数なら副作用だとかそういった固定観念はくその役にも立たない

46:デフォルトの名無しさん
17/08/11 10:33:25.53 hC5ICppb.net
>>45
何それ?
乱数テーブルどうなってんの?
毎回同じテーブルになるんだろうな?

47:デフォルトの名無しさん
17/08/11 13:15:09.86 qKco1j+0.net
>>45
状況次第なのはIT業界にかぎらず全部そうだと思うんだよ
状況次第と言うことに意味があるとは思えないなあ
そんなの当たり前じゃん
人間はいつか死ぬんだよと言ってるようなものじゃん

48:デフォルトの名無しさん
17/08/11 13:22:25.81 3EZq4DC0.net
>>46
状況次第

49:デフォルトの名無しさん
17/08/11 13:24:52.94 3EZq4DC0.net
>>47
誰が何と言っても全ては状況次第という真実からは逃れられない
全て状況次第と言うことが意味がないのと同じくらい
状況を無視して議論することもまた意味がない

50:デフォルトの名無しさん
17/08/11 13:26:53.02 qKco1j+0.net
>>48
いやいや、副作用がないと言ってるんだから
副作用がないという仮定のもとでは毎回同じテーブルになるっしょ
こういう状況ではこうなりますみたいに論理展開しないと
>>49
状況次第と言ってるだけで状況を無視してるのはそっちだと思うけど

51:デフォルトの名無しさん
17/08/11 13:47:51.60 3EZq4DC0.net
>>50
unkoHashが毎回同じ値を返すとしても
必ずしも毎回同じ乱数テーブルである必要はないんだよ
たまたま同じ結果を返す乱数テーブルを動的に切り替えてもいいししなくてもいいでしょ
つまり乱数テーブルが固定かどうかは状況次第ってわけ

52:デフォルトの名無しさん
17/08/11 13:57:55.98 qKco1j+0.net
>>51
たまたまだったら副作用がないことが保証されなくない?
たまたまうまくいくものを副作用が全くないと言うのはなんか怪しくない?

53:デフォルトの名無しさん
17/08/11 14:08:18.96 3EZq4DC0.net
>>52
読み違えてるよ

54:デフォルトの名無しさん
17/08/11 14:09:19.21 qKco1j+0.net
状況次第だ(状況を分析できるとは言ってない)みたいな
何を聞いてもケースバイケースとしか言わない人って
ちょっと怪しいよね

55:デフォルトの名無しさん
17/08/11 14:12:54.09 3EZq4DC0.net
>>54
どう言い繕っても何事も状況次第であるってのは避けようがないんだよ
怪しいだのなんだのと人を貶めるような発言をしてもその事実は変わらない

56:デフォルトの名無しさん
17/08/11 14:17:11.67 qKco1j+0.net
>>55
自分の言説がどういう状況で成り立つのが説明することから
逃げるために一般的すぎて何の情報も持たない状況次第と
いう言葉を使っておられるのかなって思うんだよね

57:デフォルトの名無しさん
17/08/11 14:18:50.88 3EZq4DC0.net
>>56
状況次第であることを認めず分析や定義を怠る事
これがもっとも愚かな行いである

58:デフォルトの名無しさん
17/08/11 14:22:33.35 qKco1j+0.net
>>57
状況次第なのは当たり前じゃん
こういう状況ではこうなりますという選択肢が自分の中にあって
今の話の状況はこれに該当するからこうなるよって示すのが
状況を分析して示すってことなのかなと
単に状況次第だと言うのはその分析して示すっていう過程が抜けてるかなと
それを愚かな行いだと言うのならちゃんとやってよって思う

59:デフォルトの名無しさん
17/08/11 14:29:58.15 ppZy/8OZ.net
>>45
そもそもこのクソコード乱数テーブルの初期化が考慮されてねぇ
副作用以前の欠陥コードだろうが
でも状況次第(周りも全員馬鹿)でいいコードポジなんだろうな

60:デフォルトの名無しさん
17/08/11 14:31:36.29 3EZq4DC0.net
>>58
取り組むべき問題があればやってるが、
今はそうじゃなく、何事も状況次第ということがわからない人たちに啓蒙してるんだよ

61:デフォルトの名無しさん
17/08/11 14:32:59.82 ppZy/8OZ.net
>>60
そいつらの態度も状況次第だろうが
黙って見てろよチンカス

62:デフォルトの名無しさん
17/08/11 14:33:24.85 3EZq4DC0.net
>>59
周回遅れ

63:デフォルトの名無しさん
17/08/11 14:33:55.72 3EZq4DC0.net
>>61
意味不

64:デフォルトの名無しさん
17/08/11 14:34:59.14 qKco1j+0.net
>>60
当たり前すぎて言わないだけで状況次第がわからない人っていないと思うんだよ
各々が状況を分析してこうなんじゃないかと述べてると思うんだよ
ケース・バイ・ケースは便利な言葉だけれどもちょっと議論には向かないかなと

65:デフォルトの名無しさん
17/08/11 14:35:14.35 ppZy/8OZ.net
>>60
状況次第(お前が嫌われてる)の判断の結果としてそうなってんじゃねーの?(笑)

66:デフォルトの名無しさん
17/08/11 14:36:18.35 qKco1j+0.net
>>62
ちょっと待ってくれ、周回遅れは別に悪いことじゃないだろ
掲示板での議論ってそういう時間的な差を埋められるから良いと思うんだよな

67:デフォルトの名無しさん
17/08/11 14:36:37.06 ppZy/8OZ.net
>>63
まあ、それも状況次第じゃねーの?

68:デフォルトの名無しさん
17/08/11 14:36:41.01 3EZq4DC0.net
>>64
いやこのスレにはわかってない奴が結構いるぜ
匿名だから人数はわからんが
まあ過去ログ見てきなよ俺の言ってること実感できるから

69:デフォルトの名無しさん
17/08/11 14:36:58.95 ppZy/8OZ.net
>>66
それも状況次第だよね

70:デフォルトの名無しさん
17/08/11 14:37:27.04 3EZq4DC0.net
>>65
すまんもう少しわかりやすく
母国語でいいから

71:デフォルトの名無しさん
17/08/11 14:37:48.34 ppZy/8OZ.net
>>70
状況次第だよね

72:デフォルトの名無しさん
17/08/11 14:38:35.21 ppZy/8OZ.net
イザナミだ

73:デフォルトの名無しさん
17/08/11 14:40:41.14 3EZq4DC0.net
>>66
それも状況次第だな
非リアルタイムな対話のツールとして有用性はある
でもトンチンカンな意見で過ぎ去った話題を掘り起こそうとする変なのも呼び寄せてしまうデメリットもある

74:デフォルトの名無しさん
17/08/11 14:41:27.21 ppZy/8OZ.net
>>73
仮にそれをAとする

75:デフォルトの名無しさん
17/08/11 14:44:46.14 qKco1j+0.net
>>68
それってただのバイアスじゃない?
議論って各々がそれぞれの仮定をおいて意見を出し合うものだから
この人の意見はこういう仮定だなーというふうに理解しなきゃいけなくて
他の状況が考えられるから状況次第だとわかってないみたいに結論するのは拙いかなと

76:デフォルトの名無しさん
17/08/11 14:45:43.48 ppZy/8OZ.net
>>75
イザナギだ

77:デフォルトの名無しさん
17/08/11 14:48:31.40 qKco1j+0.net
>>73
議論が広まるのは良いことじゃん
トンチンカンというのはちょっと感情的かなと

78:デフォルトの名無しさん
17/08/11 14:50:48.61 3EZq4DC0.net
>>75
問題はその仮定を共有しないことな
ある程度、話を進めた後で、酷いコードや前提条件を出してきて
あ、こいつこんな世界観で議論してたんだ、アホくさ~
とか、よくあるじゃん
酷いのになると、自分が業務で扱ってるシステムを前提に(当然他の人はそんなもん知らん)話を進めたりする

79:デフォルトの名無しさん
17/08/11 14:51:48.06 3EZq4DC0.net
>>77
広がる状況ならいいけどな
この状況では明後日の方向に進むだけだろう

80:デフォルトの名無しさん
17/08/11 14:52:33.11 ppZy/8OZ.net
>>77
それも状況次第だよね~
って散々小学生のときにやったぜ
状況次第って言ってもビジネスでは
事象が滅茶苦茶多くて把握するのも手に負えないのか
少なくとも10パターン程度で他の人間の手を借りれば把握できるのか
規模の目算ぐらいは立ててから相談しねーと無能の烙印を押されるけどな

81:デフォルトの名無しさん
17/08/11 14:58:26.69 qKco1j+0.net
>>78
ネットで検索すればわかるようなことより自分の経験で語る人の意見って貴重だと思うよ
そういう世界があるだなとかそういうシステムを保守することになったら参考にしようとかさ
他人の世界を自分の世界に取り込むことこそ議論の醍醐味だよ
セルが人造人間18号を吸収したときとか興奮したでしょ? 完全体目指してるんでしょ? 丸ごと吸収したらいいよ!

82:デフォルトの名無しさん
17/08/11 14:59:39.51 3EZq4DC0.net
>>81
語る前に状況説明しろって言ってんだけど

83:デフォルトの名無しさん
17/08/11 14:59:59.85 ppZy/8OZ.net
>>82
イザナミだ

84:デフォルトの名無しさん
17/08/11 15:03:08.85 qKco1j+0.net
>>79
議論の方向性って別に気にする必要なくない?
こっちじゃなきゃ嫌なの!みたいな思いを持ち込む必要なくない?

85:デフォルトの名無しさん
17/08/11 15:04:59.57 ppZy/8OZ.net
>>84
有意義な方がいいと思うが
仮にそれをAとする

86:デフォルトの名無しさん
17/08/11 15:05:57.37 qKco1j+0.net
>>82
相手も何を説明すれば良いのかわからないのじゃないかな
なかなか難しいからね、面と向かって話してても誤解することもあるし
ほんと会話って難しい

87:デフォルトの名無しさん
17/08/11 15:07:11.11 ppZy/8OZ.net
>>86
(*゚∀゚)じゃあ、お互い何話してるかわからないんだよw

88:デフォルトの名無しさん
17/08/11 15:10:53.65 qKco1j+0.net
>>87
そういうこともあるよ、会話が上手なベテランの人でさえあるよ
自分の理解をこまめに示して確認しながらすすめるしかないんじゃないかな

89:あ
17/08/11 15:23:45.68 BPqPzkT9.net
状況次第ではないように、何故定義できないのか?
俺は事実、「副作用の無いもの」が、参照透過であるはずだと思ってしまってたし。
有意義だと思うんだけどな。

90:デフォルトの名無しさん
17/08/11 15:26:33.67 ppZy/8OZ.net
>>88
ねーよ
テメーのまわりに比較的キチガイが集中してんだろ

91:デフォルトの名無しさん
17/08/11 15:27:43.27 qKco1j+0.net
>>90
ねーのかよ!クズが!死ね!!

92:デフォルトの名無しさん
17/08/11 15:27:52.81 qKco1j+0.net
論破しました

93:デフォルトの名無しさん
17/08/11 15:29:55.10 ppZy/8OZ.net
そもそもまともな上司は状況次第なんて報告は許さない
社会に出てからは聞き慣れない言葉だよね
クソ報告したやつは終電まですべてのケースを記述する始末書でも出してろ

94:デフォルトの名無しさん
17/08/11 15:30:46.02 kSH7ofFJ.net
逮捕されるかどうかはJK次第

95:デフォルトの名無しさん
17/08/11 15:34:46.80 qKco1j+0.net
>>93
その上司ホントにまともか?

96:デフォルトの名無しさん
17/08/11 15:38:16.98 ppZy/8OZ.net
>>95
もちろん
状況次第だろw

97:デフォルトの名無しさん
17/08/11 15:44:28.97 qKco1j+0.net
>>96
まともな上司が状況次第を許さないから状況次第は許されないんだというわけだろ
上司のまともさが状況次第だとするなら状況次第が許されないことも状況次第になるわけだから
状況次第が許される可能性が存在することが否定されないわけだから
ゆえに状況次第なのは状況次第ってことになるから結局お前状況次第って言いたいだけなんじゃないの?
状況次第ってそんなに言いたいかねその感覚わからんわ

98:デフォルトの名無しさん
17/08/11 15:53:24.92 ppZy/8OZ.net
>>97
仮にそれをAとする

99:デフォルトの名無しさん
17/08/11 15:56:11.97 O4emMrUA.net
仮なので本当はAではない

100:デフォルトの名無しさん
17/08/11 16:03:05.42 ppZy/8OZ.net
イザナミだ

101:デフォルトの名無しさん
17/08/11 17:06:21.52 7B9fqweO.net
「あ」とかいう次世代言語議論スレにもいる手帳持ちの糞コテここにもいたのかよ

102:デフォルトの名無しさん
17/08/11 17:09:11.74 ppZy/8OZ.net
>>101
そんなスレ全く興味無いが
仮にそれをAとする

103:デフォルトの名無しさん
17/08/11 17:22:25.79 4bbWTV9L.net
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子が求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ
それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
473非決定性名無しさん2017/08/03(木) 15:21:30.71
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。

104:デフォルトの名無しさん
17/08/11 17:35:59.16 boTWV/1Y.net
すげー伸びてるときは読まなくていい法則

105:デフォルトの名無しさん
17/08/11 17:40:46.75 ppZy/8OZ.net
>>104
イザナミだ

106:あ
17/08/11 23:54:31.04 zyovbRWQ.net
>>101
手帳なんかもっとらんぞw

107:10
17/08/12 13:42:25.09 A4v2+zpK.net
なんだ、この程度のコードも示せないのか

108:デフォルトの名無しさん
17/08/12 13:58:11.29 mnq0jZNZ.net
>>107
お前、どこ中?

109:デフォルトの名無しさん
17/08/12 15:22:29.61 VqNg7Zuq.net
>>107
模範コードをおなしゃす

110:デフォルトの名無しさん
17/08/12 15:23:50.47 1uDJW21d.net
>>109
仮にその模範コードをAとする

111:デフォルトの名無しさん
17/08/12 15:25:11.50 VqNg7Zuq.net
状態が受注のレコード持ってきて更新かけるだけなんじゃないのかな
2,3は楽観同時実行制御でいいし1は権限テーブル用意すれば良い

112:デフォルトの名無しさん
17/08/12 16:14:24.62 A/BCmj8c.net
>>110
イザナミか?

113:デフォルトの名無しさん
17/08/12 16:18:03.62 mnq0jZNZ.net
>>112
イザナミだ

114:デフォルトの名無しさん
17/08/12 16:24:20.41 A4v2+zpK.net
>>109
いやいや、オブジェクト指向スレでオブジェクト指向だったらどうしましょうねって場に、
関数型ならできるよって切り込んできたんだから、じゃコード示してみてってなるでしょ

115:デフォルトの名無しさん
17/08/12 16:27:08.00 A4v2+zpK.net
いちいち念押ししながらじゃないと話が発散してしまうのがうざいんだが、
> 関数型はそれが出来るというより
> 意図的に排除する仕組みが言語仕様で用意されているといったほうがいいな
これを示してくれってことね

116:デフォルトの名無しさん
17/08/12 16:34:56.80 VqNg7Zuq.net
>>115
経緯を一から全部まとめた方がいんじゃないかな
オブジェクト指向ではこう書くけどと示されていたら
答えやすいんじゃない? そういうとこちゃんとやろうよ

117:デフォルトの名無しさん
17/08/12 16:39:35.44 A4v2+zpK.net
>>116
オブジェクト指向でどうやるかは、前スレでさんざん話でたでしょ
また繰り返したいの?

118:デフォルトの名無しさん
17/08/12 16:41:04.74 VqNg7Zuq.net
>>117
このスレで問うならそれくらいやるべきだと思うよ
自分でコード書いてオブジェクト指向ならこうやるって
示して関数型ならどうやる?って聞くんだよ
答えやすい状況を作るのが君の仕事だろ

119:デフォルトの名無しさん
17/08/12 16:43:04.72 A4v2+zpK.net
>>118
君の好奇心を満たすために俺がいるわけじゃない
まとめたいなら君がすれば?
で、前スレ >>996が俺の質問をさらに無視するもよし
別に誰も困らないよ

120:デフォルトの名無しさん
17/08/12 16:44:09.89 A4v2+zpK.net
>>118
つか、前スレ>>996までの流れ全部読んでからレスしろ

121:デフォルトの名無しさん
17/08/12 16:44:52.54 mnq0jZNZ.net
結局、掲示板でオブジェクト指向の話するとこうだからなぁ

122:デフォルトの名無しさん
17/08/12 16:47:24.11 A4v2+zpK.net
>>121
それは、
・オブジェクト指向を好む者は、一般に言ってまともな会話ができない
・オブジェクト指向の話をすると、他パラダイム信奉者が必ず邪魔に入る
のどっち?

123:デフォルトの名無しさん
17/08/12 16:47:25.02 mnq0jZNZ.net
せめて模範になるソースとか落ちてないのかね?
誰でもダウンロードできるところに
できれば動くのがいいっていうか動くの必須だな

124:デフォルトの名無しさん
17/08/12 16:49:29.81 VqNg7Zuq.net
>>120
それは無茶でしょ
このスレに持ち込むのなら改めて流れをまとめて
提示しないと無責任だよ

125:デフォルトの名無しさん
17/08/12 16:49:55.46 A4v2+zpK.net
はぁ?
ドアなんちゃら問題みたいな話じゃなくて、>>10の話だぞ
なんで湖畔となるコードなんぞいるんだ?

126:デフォルトの名無しさん
17/08/12 16:50:22.02 mnq0jZNZ.net
>>122
ソースを元にああだこうだって議論ができないのよ
githubにうpって上げるでもあればいいけどね
そもそもオブジェクト指向派は理想ばっかり掲げて
君らが素晴らしいとするソースの一枚でも俺に見せてみろという感じはある

127:デフォルトの名無しさん
17/08/12 16:51:09.56 A4v2+zpK.net
>>124
> このスレに持ち込むのなら改めて流れをまとめて
> 提示しないと無責任だよ
前スレ終了直前で話をぶっこんできて、何の説明もないまま>>5みたいなことを言い出すのは無責任じゃないのか?

128:デフォルトの名無しさん
17/08/12 16:51:52.62 VqNg7Zuq.net
>>10 の話がただの覚書みたいになってるから
みんな答えにくいんじゃないかな
仕様とコードをまとめてできれば経緯もまとめて欲しいけど
そうやってきちんとした形で提示した方が良いと思うよ

129:デフォルトの名無しさん
17/08/12 16:52:29.11 A4v2+zpK.net
>>126
なんだ、「他パラダイム」の人だったか
オブジェクト指向スレ荒らすのやめるか、自説を展開するならコードで説明してくれないかな

130:デフォルトの名無しさん
17/08/12 16:52:55.77 VqNg7Zuq.net
>>127
>>5には納得したの? ちゃんと答えなよ

131:デフォルトの名無しさん
17/08/12 16:53:58.03 A4v2+zpK.net
>>128
> みんな答えにくいんじゃないかな
前スレ>>996に質問してるだけなんですが
話に割り込むなら、前スレの流れ読んでからにしてくれよ
いちいち相手するの面倒

132:デフォルトの名無しさん
17/08/12 16:54:26.68 A4v2+zpK.net
>>130
> >>5には納得したの? ちゃんと答えなよ
>>9

133:デフォルトの名無しさん
17/08/12 16:54:54.32 VqNg7Zuq.net
>>132
何のコードなの?

134:デフォルトの名無しさん
17/08/12 16:55:26.44 VqNg7Zuq.net
きちんとまとめてないからこうやっていちいち聞かなきゃいけないでしょ?
だからちゃんとまとめなよ

135:デフォルトの名無しさん
17/08/12 16:55:47.89 A4v2+zpK.net
>>133
君は知らなくていいよ

136:デフォルトの名無しさん
17/08/12 16:56:16.70 A4v2+zpK.net
>>134
君、前スレ>>996なの?

137:デフォルトの名無しさん
17/08/12 16:57:03.57 VqNg7Zuq.net
他人にコードで示して欲しいならきちんと仕様をまとめて
オブジェクト指向ではこう実装しますって参照実装も示さないと
何を書けばいいのかわからないよね
相手の立場に立って考えて欲しい

138:デフォルトの名無しさん
17/08/12 16:57:45.25 A4v2+zpK.net
>>137
で、君、前スレ>>996なの?

139:デフォルトの名無しさん
17/08/12 16:58:20.29 VqNg7Zuq.net
>>135
このスレに書き込んだ時点で俺を始めこのスレを見てる人は
すべてを知る必要があるだから聞いているんだ
>>136
違うよ、まったくの別人だよ

140:デフォルトの名無しさん
17/08/12 16:58:35.89 VqNg7Zuq.net
>>138
違うっつってんだろ

141:デフォルトの名無しさん
17/08/12 16:59:42.84 VqNg7Zuq.net
>>996からのみ返信欲しいならダイレクトメールを送るべき
このスレに書き込んだ時点で他の大勢に見てもらいたいという
思いがあるわけだから、その責任を果たさなければいけない

142:デフォルトの名無しさん
17/08/12 17:00:06.39 A4v2+zpK.net
>>139
> すべてを知る必要があるだから聞いているんだ
じゃ、前スレ読めば?
なんで君のために前スレのダイジェスト作んなきゃならないの?
>>140
違うなら説明する必要するないよね
俺の質問相手は、前スレ>>996なんだから

143:デフォルトの名無しさん
17/08/12 17:00:23.16 VqNg7Zuq.net
スレに書き込むならスレを読む人全員にわかるように書きなさいよ

144:デフォルトの名無しさん
17/08/12 17:00:40.50 A4v2+zpK.net
2017年にもなって2ch初心者かよ
んじゃ、NGね

145:デフォルトの名無しさん
17/08/12 17:01:46.71 VqNg7Zuq.net
>>142
俺だけじゃないスレを読む人全員のためにまとめるべき
なぜならば君はこのスレに書き込んでいるからだ
このスレが君だけのものだったらそんなことしなくていいよ
だけど違うよね?このスレは俺のものであり、みんなのものだよ
君のプライベートなやり取りを書き込むスレじゃない

146:デフォルトの名無しさん
17/08/12 17:02:37.46 VqNg7Zuq.net
>>144
掲示板っていうのは皆のものなんだよ
君だけのものじゃないんだよ
俺とみんなのものなんだよ
逃げるのみっともないよ

147:デフォルトの名無しさん
17/08/12 17:06:50.53 A/BCmj8c.net
マジでイザナミ感あってマジでウケるんですけっっど

148:デフォルトの名無しさん
17/08/12 17:07:24.12 VqNg7Zuq.net
僕の発言はすべて>>996に宛てたものですっていうのなら
アンカーを付けるべきなんだよね
それをやってないのは邪な思いがあるからだよね
まるでこのスレでみんながそれを議論していたかのように思わせたい
甚だ汚い思いがあったからそうしたんだよ
話詰めたら>>996との個人的なやり取りだから干渉しないで欲しいと言うわけだろ
姑息、ただただ姑息

149:デフォルトの名無しさん
17/08/12 17:09:30.95 VqNg7Zuq.net
ときどきNG解除して書き込み覗いてるんだろうな
            _,,..r'''""~~`''ー-.、
            ,,.r,:-‐'''"""~~`ヽ、:;:;:\
           r"r          ゝ、:;:ヽ
   r‐-、   ,...,, |;;;;|       ,,.-‐-:、 ヾ;:;ゝ
   :i!  i!  |: : i! ヾ| r'"~~` :;: ::;",,-‐‐-  `r'^!
    !  i!.  |  ;| l|  ''"~~   、      i' |
     i! ヽ |  | |    ,.:'"   、ヽ、   !,ノ
    ゝ  `-!  :| i!  .:;: '~~ー~~'" ゛ヾ : : ::|          イェーイ、みてるぅ~?
   r'"~`ヾ、   i! i!   ,,-ェェI二エフフ : : :::ノ~|`T
  ,.ゝ、  r'""`ヽ、i! `:、   ー - '" :: : :/ ,/
  !、  `ヽ、ー、   ヽ‐''"`ヾ、.....,,,,_,,,,.-‐'",..-'"
   | \ i:" )     |   ~`'''ー---―''"~
   ヽ `'"     ノ

150:デフォルトの名無しさん
17/08/12 17:10:46.60 A4v2+zpK.net
そうは言っても、俺も少しは親切心があるからな
前スレで
class Order {
  private bool isCancelable() {}
  public void cancel() {
    if (!isCancelable()) {
      // エラー処理(例えば例外をthrow)
    }
    // 実際のキャンセル処理
  }
}
というコードに対して、「闇が深い」という判定が下り、そこから話が紛糾したりした
前スレ>>996ならどんなコードにするんですかね

151:デフォルトの名無しさん
17/08/12 17:15:58.30 VqNg7Zuq.net
>>150
えぇ!! >>10 がこれになるんすか!?
権限の制限も発送済みの状態も全然盛り込まれてないじゃない
これは闇が深いと言われても致し方ないかと

152:デフォルトの名無しさん
17/08/12 17:17:45.53 VqNg7Zuq.net
三つの着眼点をまったく無視したコードじゃないっすか!?
マジっすか? これでホントにダイジョブなんすか?

153:デフォルトの名無しさん
17/08/12 17:20:23.01 4XMrLP7t.net
煽るだけの無能は消えてほしい

154:デフォルトの名無しさん
17/08/12 17:20:41.59 VqNg7Zuq.net
発注・受注・納品・キャンセルは
業務アプリではよくあるものなので
SIer戦士は得意なんじゃないかな

155:デフォルトの名無しさん
17/08/12 17:21:56.43 VqNg7Zuq.net
>>153
なんすかそれ? 俺のこと煽ってんすか?

156:デフォルトの名無しさん
17/08/12 17:21:59.07 A4v2+zpK.net
という煽りを自分はしてもいいんだという謎立場

157:デフォルトの名無しさん
17/08/12 17:23:59.73 VqNg7Zuq.net
煽ることで >>150 のコードを引き出した僕の力量を認めて欲しい

158:デフォルトの名無しさん
17/08/12 17:29:36.48 mnq0jZNZ.net
仮に>>150をAとする

イザナミだ

159:デフォルトの名無しさん
17/08/12 17:35:15.42 VqNg7Zuq.net
>>158
なるほどな、ところでイザナミって何だ?

160:デフォルトの名無しさん
17/08/12 17:46:07.32 VqNg7Zuq.net
コーディングよりはデータモデリングの方が
重要になってくるかなと
ユーザ -> ロール -> 権限
受注 -> 受注明細
受注 -> ユーザ
エンティティを分けるとしたらこうかな
イミュータブルデータモデル(入門編)
URLリンク(www.slideshare.net)
関数型に適したデータの持ち方はこれとか
updateを行わずにinsert/deleteでやりくりするのだけれども
数百万のデータ扱うときにそういうやり方ってio的に厳しくないかな
SIer戦士の知見を伺いたいね

161:デフォルトの名無しさん
17/08/12 18:28:09.46 mnq0jZNZ.net
>>159
つgoogle「イザナミだ ナルト」
読むとこのスレが丁度術にかかってるみたいで笑えるぞ!

162:デフォルトの名無しさん
17/08/12 18:31:25.69 rhDkRh0m.net
>>160
IOっていってもほとんど読み取りだからな
キャッシュすりゃいいわけよ
キャッシングはイミュータブルな構造との相性もいい

163:デフォルトの名無しさん
17/08/12 18:54:00.06 mnq0jZNZ.net
イザナミだ
URLリンク(jumpmatome2ch.net)

164:デフォルトの名無しさん
17/08/12 20:33:40.23 A/BCmj8c.net
イザナミすらしらんゴミがイキってて笑える
夏休みの宿題済ませてこいよカース

165:デフォルトの名無しさん
17/08/12 21:35:51.52 /aCqunE6.net
>>6
それ宣言型、関数型、論理型が並列に並んでるのおかしいね。

166:デフォルトの名無しさん
17/08/13 00:33:44.55 PA7iDDOj.net
なんか一人か二人荒らしまわってる連続投稿君がいるみたいだけど
>>115
は元々
Java、C++、C#などは副作用を前提にプログラムを書くスタイルを基調としているから
手続き型言語のグループに入るけど
関数型はそれを意図的に排除する仕組みが言語仕様で用意されている
ってことまでしか言ってないからね
排除された結果、自分が思ったコードが書けなかったとしても、それは関係ない
だから類似コードを示す必要性は全くない
例えば論理型言語のPrologで注文受注のコード書いてたらバカだろ
もしくはGPUのシェーダー用のプログラミング言語(HLSLとか)で
注文受注のコード書いてたらバカだろ
あえてバカみたいなことはする必要ないんじゃないかな

167:デフォルトの名無しさん
17/08/13 00:46:50.01 PA7iDDOj.net
ID:A4v2+zpKが如何にキチガイか理解していただけただろうか
まぁ18も連投している時点で明らかなわけだが
付き合いきれまい

168:デフォルトの名無しさん
17/08/13 01:19:09.93 vem2Phjv.net
最近jsでデータの整理整頓をしない環境にいたので覗きに来ました

169:デフォルトの名無しさん
17/08/13 02:02:44.19 s7ggTJlx.net
>>166
逃げてるだけじゃん

170:デフォルトの名無しさん
17/08/13 02:13:02.78 PA7iDDOj.net
本題は、JavaやC++やC#は手続き型言語のグループに入るって部分であって
関数型は~の部分は、少なくともこれらの言語は関数型では無い
っていう例で挙げているだけにすぎず
関数型言語で受注プログラムを解くとか解かないとか
そういう話は一切してないし
関数型だとキレイに書けるとも一言も言ってないし、全く言及してない

171:デフォルトの名無しさん
17/08/13 04:32:44.46 POaPVjZW.net
こうなってるけどな
スレリンク(tech板:991-996番)
関数型言語では言語仕様で、手続き型言語の欠点を意図的に排除する仕組みが用意されている

172:あ
17/08/13 09:49:26.83 5DDetRBZ.net
一体何だったのか?

173:デフォルトの名無しさん
17/08/13 10:41:24.21 PA7iDDOj.net
文章を勝手に改変して「こうなってるけどな」と言われても

174:デフォルトの名無しさん
17/08/13 10:42:40.19 PA7iDDOj.net
>関数型はそれが出来るというより
>意図的に排除する仕組みが言語仕様で用意されているといったほうがいいな
ってしっかり書いてあるだろ

175:デフォルトの名無しさん
17/08/13 10:44:34.68 PA7iDDOj.net
そしてこれは本題ではなく
JavaやC++やC#は手続き型言語のグループに入る
ってことを説明する、そうじゃないものを例に挙げたまでだ
関数型言語で受注プログラムを書くとか書かないとか
まったく言及してない

176:デフォルトの名無しさん
17/08/13 11:12:14.57 fnleBiCA.net
手続き型に構造型にしやすくするための構文を追加したのが構造型言語
その構造型言語にオブジェクト指向しやすくするための構文を
追加したのがオブジェクト指向言語
そしてオブジェクト指向言語に内包される手続き型と構造型部分に
関数型言語の特徴を組み込むのが今のトレンド

177:デフォルトの名無しさん
17/08/13 11:16:07.23 KfX/mNRe.net
逝っとけオブジェクト指向

178:デフォルトの名無しさん
17/08/13 12:21:52.31 PA7iDDOj.net
構造「型」言語とか言ってる時点で
何の信ぴょう性もないもんだな

179:デフォルトの名無しさん
17/08/13 12:29:06.82 H1VKWZTL.net
すいません、どなたかセックスさせてください

180:デフォルトの名無しさん
17/08/13 15:54:04.19 3dVRXwBQ.net
>>173-174
こういうことだろ
スレリンク(tech板:991-996番)
関数型言語では
手続き型言語の欠点である順番やタイミングに依存する方式から逃れること
が出来るというよりは
手続き型言語の欠点である順番やタイミングに依存する方式を
意図的に排除する仕組みが言語仕様で用意されているといったほうがいいな

181:デフォルトの名無しさん
17/08/13 16:18:25.24 47VquCRx.net
なんだよ関数型崇拝者はまだ全く説明できないで同じこと繰り返しているのかよ

182:デフォルトの名無しさん
17/08/13 16:21:51.11 7Wtpo09/.net
>>180

> 手続き型言語の欠点である順番やタイミングに依存する方式を
> 意図的に排除する仕組みが言語仕様で用意されているといったほうがいいな
ってなんだよ
エアプか?

183:デフォルトの名無しさん
17/08/13 16:29:40.28 3dVRXwBQ.net
>>182
前スレのID:m8GLf68Fがそう言ってるってことなんだがな

184:デフォルトの名無しさん
17/08/13 16:50:18.17 rW1u58p9.net
そんな仕組みないです
参りました
ごめんなさい勢いで言っただけなんです
許してください🙇🙇‍♀

185:デフォルトの名無しさん
17/08/13 21:19:15.64 7Wtpo09/.net
ん?今何でもするって言ったよね?

186:デフォルトの名無しさん
17/08/13 22:52:25.17 fz0hXT5l.net
言ってないんだよなぁ

187:デフォルトの名無しさん
17/08/19 19:12:00.14 y/QCc+p9.net
>>10
1. 権限管理
2. キャンセル可否のビジネスルール
3. 同時実行制御
っていうレイヤーの異なる3つをごちゃまぜにしてるからダメなんだろ
データモデルの良し悪しとは全く別次元の話だわ

188:デフォルトの名無しさん
17/08/19 19:20:57.01 fow9w/9c.net
常識的に考えるとそれらは別のレイヤーでやるよな
ただあの人みたいにいずれも検証だから同じレイヤーでやるみたいな派閥もあるみたいだね

189:あ
17/08/19 19:42:05.97 b1lc6Upk.net
>>187
cancelメソッドとそれが不可能だって例外ですべてハンドリングするのも同じ次元だけどな。
>>188
検証としては同じレイヤでやるが、実際の処理を同じものが持つかどうかは別だぞ。
検証処理を行うのは一人がやるべきだし、それぞれのステートにおいて適切なロジックがやるべき。
そのロジックの結果同士の和とか積になるよね、って。
そうしないと優先順位が生まれたときに、あとから定義したりしていなかった優先順位の解釈を、既に散在してしまったチェックロジックに入れて行くことになってしまう。
データが一人でやるべきものではなくて、ビジネスロジックが検証してやるべきものだ、って話だよ。

190:デフォルトの名無しさん
17/08/19 22:03:05.65 y/QCc+p9.net
>>>187
権限がなければキャンセル処理を実行できないようにしたいのであれば、例えばキャンセルボタンをグレーアウトさせればいい
その場合、権限ないにも関わらずにcancelメソッドが呼び出された場合は業務エラーじゃなくシステムエラーだから扱いが異なる
最終的な実装はどうあれ同じ次元として扱ってるとまともな設計にはならないよ

191:デフォルトの名無しさん
17/08/19 22:24:13.25 y/QCc+p9.net
アンカ間違えてた
>>187じゃなく>>189
下の3つを「検証」って言葉で一括りにしてるとプログラムの大半はなんらかの検証処理になっちゃう可能性がある
検証って言葉をどういう意味で使ってるのかとか、何に対する検証なのかを考えたほうがいい気がする
ロジックの散在とか優先順位の解釈とか言いたいことは分からなくはないけどね
1. 注文がキャンセル可能かどうか
2. ユーザーがキャンセルの実行権限があるかどうか
3. キャンセル実行時にデータ整合性が保証できるかどうか

192:あ
17/08/20 07:16:27.75 mQe7YUF9.net
>>190
それは、キャンセルボタンが押せるかどうかの判定で、キャンセルができるかどうかの判定と似てるが違うものだよ。
キャンセルボタンではキャンセルできないけど、電話してオペレーターにキャンセルしたい、と頼めばやってくれる、とか。
>>191
そうだな。言葉が悪いか。
状態検証
権限検証
整合性検証
は、すべて「検証」ロジックが呼び出すべき処理、って感じかな。

193:デフォルトの名無しさん
17/08/20 08:59:15.38 dgrWF/1p.net
>>192
引っ込みつかなくなったのはもうわかったから

194:デフォルトの名無しさん
17/08/20 13:53:16.66 m8177A+a.net
implements ICancelable
でいいだろこれでコンパイルも通る
おまえら、たったこの1行のコードもひねり出せない無能のチンカスガイジ低級プログラマ土方ジャップランド土人だったのか?

195:デフォルトの名無しさん
17/08/21 00:11:33.04 +nwikK0h.net
何がええんや

196:デフォルトの名無しさん
17/08/21 00:14:41.29 +nwikK0h.net
100歩譲って無能のチンカスガイジは認めるわ
土方プログラマっていうのもまあ分かる
しかしジャップランド土人というのもそのとおりだ

197:デフォルトの名無しさん
17/08/21 01:07:09.51 7hohe37q.net
>>192
>すべて「検証」ロジックが呼び出すべき処理、って感じかな。
そのすべてを呼び出す「検証」ロジックって何ぞな?

198:デフォルトの名無しさん
17/08/21 03:03:23.75 eGD2En39.net
>>196
認めすぎィ!

199:あ
17/08/21 07:29:55.85 H2KMBRSF.net
>>197
あー、確かに。それは微妙か。
データフローとか、ジョブの検証フェーズになるだろうね。

200:デフォルトの名無しさん
17/08/21 19:51:47.16 Kzr43Eyo.net
話は変わるが
私はユーザーオペレーションのミスも例外で処理する(例外シナリオ)
これは一番やりたいことを最も早く簡潔に書くためだ(メインシナリオ)
やりたいことが出来ないのはシステムにとって致命的だが、ミスは回避できる特に開発段階では
ミスかどうか早めに自発的に判断するのはやぶさかではないが、そこでも例外を投げて例外シナリオであることを明示する
システムにとって必要不可避なユースケースを最小で実現するためだ
問題があれば聞かせてほしい

201:デフォルトの名無しさん
17/08/21 21:02:35.44 TUwJwlJW.net
>>200
前にそれやったらロジックが複雑になったことある

202:デフォルトの名無しさん
17/08/21 21:28:17.07 Kzr43Eyo.net
>>201
うちではロジック変わらない
設計者の技量の問題かな

203:デフォルトの名無しさん
17/08/21 21:52:21.63 wYi/O97J.net
>>202
エラーによっては別の方法を促さなきゃいけない仕様になっているのに
まとめて処理しようとしててmain関数がお化けになってた
エラーメッセージってちゃんと表示しようとするとその時の色んなもんが必要になるんだけど
それも上手く引っ張ってやらないといけない
その場でやったほうが楽だったよ
エラーメッセージ用の必要なデータの抽出ってのも結構骨が折れる
しかも頂点でしかやってねーからある時mainが全部using持ってないと動かなくなちゃった

204:デフォルトの名無しさん
17/08/21 22:06:44.94 Kzr43Eyo.net
>>203
それは代替シナリオで例外シナリオではない
記述場所の問題なら例外に乗せて投げればいい
そもそもmain関数とかオブジェクト指向じゃないだろそれ

205:デフォルトの名無しさん
17/08/21 22:06:53.89 lYWr+wd6.net
もともとプログラムってのは確認して実行しても良さそうなら実行っていう戦略とは根本的に相性が悪い
確実に実行できることを保証するって深く考えると実はかなり難しいのでまず間違いなく何処かで漏れる
どうせ漏れがあるなら最初から確認せずにとりあえず実行してしまえばいい
実行してみて何事もなければそれで良し
ダメなら適切な例外をなげろって設計が実は最も自然な設計
これだけでも完全なシステムを作れる
まあそれだけだとUXが悪いからクライアント側で書式チェックぐらいはしてもバチは当たらんだろうね

206:デフォルトの名無しさん
17/08/21 22:19:48.01 wYi/O97J.net
>>204
例外じゃん
少なくとも一瞬は例外だったじゃん
そこから例外→代替シナリオのルートがねーと
コード上では
お前の処理が全部食っちゃってて手の入れようがない

207:デフォルトの名無しさん
17/08/21 22:34:43.69 Kzr43Eyo.net
>>206
いや代替シナリオは別途設計書く
コードの例外と例外シナリオは同じではないぞ

208:デフォルトの名無しさん
17/08/21 22:39:57.15 wYi/O97J.net
しかも頂点まで戻って来ててしまって
代替シナリオで以降の処理を続行的な選択をすると
例外発生処理まで来たルートをフラグを見てお通しする
見事なクソコードなのだ!
パオーン!って俺も叫んだ!
プログラム全体で作ったインスタンスを消すともう動かねぇよ
どーすんだコイツ的な衝撃

209:デフォルトの名無しさん
17/08/21 22:46:23.39 wYi/O97J.net
>>207
代替があるかどうか?って
ハイ、イイエ
をその処理に対して誰かがちょっとでも浮かぶかどうかじゃん?
ここまとめて例外で弾き飛ばすと
あ、ここは例外でいいよ
メッセージ出して欲しいなぁ
って客の気分やから
融通が効かないクソコードになんで

210:デフォルトの名無しさん
17/08/21 22:48:21.65 Kzr43Eyo.net
>>209
何言ってんの

211:デフォルトの名無しさん
17/08/21 22:55:05.00 wYi/O97J.net
>>210
(´・ω・`)俺の言ってることあんま理解できない?

212:デフォルトの名無しさん
17/08/21 23:04:43.19 Kzr43Eyo.net
誰か通訳

213:デフォルトの名無しさん
17/08/21 23:06:06.88 wYi/O97J.net
>>207
サービスで代替?があるやつだけ教えてやったけど
これだけだと思ってるの?
まだまだあるぜ
バーカ
検討を祈る!

214:デフォルトの名無しさん
17/08/21 23:16:42.53 wYi/O97J.net
うん、俺がアホだったね
死ぬわ(´・ω・`)
環境特有の状況だね

215:デフォルトの名無しさん
17/08/21 23:19:42.56 wYi/O97J.net
そしてすまん(´・ω・`)

216:デフォルトの名無しさん
17/08/21 23:22:00.62 Kzr43Eyo.net
代替シナリオと代替サービスを一緒くたにしてるのかな

217:デフォルトの名無しさん
17/08/21 23:26:47.25 wYi/O97J.net
>>216
いや酒飲んで寝起き

218:デフォルトの名無しさん
17/08/22 06:43:04.83 9GD6qpN2.net
お酒のせいにする男ってサイテー

219:デフォルトの名無しさん
17/08/22 07:37:50.45 w3Lq2Uzy.net
まだ夏休みだっけ?

220:デフォルトの名無しさん
17/08/22 09:33:05.29 NJ87VB64.net
○次受けが多いほど退場率が早くなる。高くなる
直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は90万払ってる) 客:短期延長していい?
5次受けの50万(客は150万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ 
長時間労働 高稼働 高スキル要求が多い
零細フリーランスサイトは5次受けから誰もできない難易度の高い仕事 余り物の仕事を紹介してくる。40万円代でやってくれと
これならJIETから3次でいったほうがいいな
446非決定性名無しさん2017/08/02(水) 22:12:48.95
JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ
それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む

221:デフォルトの名無しさん
17/08/23 07:27:54.25 6/9LzVc0.net
オブジェクト指向に造詣の深い諸兄は、DTOとかPOCOとか、クラス図に書いてます?

222:デフォルトの名無しさん
17/08/23 08:20:46.57 kJ94jZYw.net
>>221
データベースのdtoは書かない
ViewModelは書く

223:デフォルトの名無しさん
17/08/24 10:06:58.66 hIiCK2jN.net
>>222
一般的にはそういう認識で良いんですね
プログラムできない上司と二人きりの社内IT便利屋なので世間様の動向が解らず
ありがとうございます

224:デフォルトの名無しさん
17/09/02 01:06:47.28 je61f8uF.net
いつの間にかWikipediaのオブジェクト指向のページがいい感じになってるな
>Eclipseを開発したDave Thomasや、オブジェクト指向という言葉の生みの親であるAlan Kay博士は
>オブジェクト指向という言葉は失敗だったと語っている。
>[1] これは、本来オブジェクト指向が重視すべきは「オブジェクト」ではなく
>「メッセージング」であるにもかかわらず「メッセージング」がおろそかにされているためである。
>特に言語の進歩において「オブジェクト」や「クラス」の側面ばかり強調される傾向にあり、
>Alan Kay博士は「Smalltalkが最高に好きという訳ではないが、他の言語に比べればマシである。」と述べている。
昔はこんな記述なかったように思うが、これが今の空気感なんだよな
俺もそういうことを言ったことがあるし、そう思う人もいくらか居て
だんだん発展して、そういう空気になってるんだな
オブジェクト指向は本当に名前が悪くて、メッセージング指向とでもしておくべきだったと思う
名前に引っ張られるってのは少なからずあるからな
メッセージング、メッセージのやり取り、というのは手続き型言語においては手続きそのものであるが
やはり手続きの部分が読みやすい方が良い、処理の順番が見たまんま一目瞭然な方が良い
何がどの順で実行されているか明瞭、といった古典的な要素を見直そうというそういう流れ
処理の順番に結果が依存する手続き型言語において、処理の順番が把握しづらいのは本来恐ろしいことだからね
なるべくオブジェクト同士の相互作用たる手続きの部分が簡潔になるようにクラス設計しなければならないんだけど
そのことを忘れて、クラスとは何ぞや、オブジェクトとは何ぞや、といったオブジェクト原理主義みたいな病気に
かかってしまう、まぁ、麻疹みたいなものではあるけど、名前が「オブジェクト指向」になってるからどうにも助長する
だからメッセージング指向の方が良かっただろうね

225:デフォルトの名無しさん
17/09/02 09:50:16.49 x3xo3AHA.net
> だからメッセージング指向の方が良かっただろうね
メッセージング指向の何が良いの?

226:デフォルトの名無しさん
17/09/02 10:24:51.59 O1j4weut.net
名前がカッコいい

227:デフォルトの名無しさん
17/09/02 10:56:48.95 x3xo3AHA.net
メッセージのやり取りが需要!
そいで何が重要なの?

メッセージのやり取りが需要なんだ
名前がまずかった。
メッセージのやり取りがー
メッセージのやり取りこそがー
で何が重要なの
メッセージのやり取りが需要だって言ってるだろ!

オブジェクト指向という言葉の生みの親であるAlan Kay博士は
名前がまずかったことにこだわり、その中身の重要性を語ることはなかった

228:デフォルトの名無しさん
17/09/02 11:23:18.99 Z0VXJAOw.net
メッセージは大事だが本質ではないよ
メッセージ指向が目指したのは「可能な限りの決定の遅延」
設計時、実装時、実行時、運用時(保守、メンテ時を含む)などすべての局面での徹底の試み
「遅延結合」ともいえるけど、実行時に限定してしまう人がいるからこっちの表現の方がいい
メッセージというのは「決定の遅延」の重要性やどうやればいいのかわからない人のための方便でありお題目
だからメッセージが大事、メッセージが大事と繰り返す割に説明ができる人が少ないのはまあある意味必定かと
URLリンク(metatoys.org)

229:デフォルトの名無しさん
17/09/02 11:48:07.70 x3xo3AHA.net
> メッセージ指向が目指したのは「可能な限りの決定の遅延」
決定の遅延は、問題の先送りと考えればよい。
結局あとから問題が発覚するだけにすぎない。

230:デフォルトの名無しさん
17/09/02 11:59:21.35 uuiwLM/7.net
「最適化や解決を急ぎすぎない」といった方が適切かな
対象とするシステムやそこで解決すべき問題についての理解が深まるまで、
あるいはハードウエアなどの状況が改善し解決してくれるまで、とりあえず運用可能な実装ができ
しかもよい解決法が出てきたらそれで容易かつ安全に置き換えられるようなそんな感じ
たとえば参照先の文書をきちんと読まずに反射的にしたレスをうまく取り繕えるようなメタシステム作りを目指すのがメッセージ指向

231:デフォルトの名無しさん
17/09/02 12:12:35.31 x3xo3AHA.net
> 対象とするシステムやそこで解決すべき問題についての理解が深まるまで、
それでは、ずっと理解は深まらないのか?って問題が有るな。
例えば一回作ったことがあるシステムならば理解は深まっていると考えられる。
では理解が深まってる状態で、何の決定を遅延させるのか
遅延させることに意味があるのか?

> しかもよい解決法が出てきたらそれで容易かつ安全に置き換えられるようなそんな感じ
今は容易かつ安全に置き換えられるようになっている。ただしOSの力によって。
アプリケーションは一旦終了してから入れ替えて起動しなおせばシステムを
停止すること無く、アプリを更新することができる。

そこが昔と今の違いなんだろう。昔買ったMSXは起動するとBASICが起動した。
OSではなくてBASIC。OSが存在せず言語の開発環境がOSそのものだった。
そういう時代においては、言語自身にプログラムを入れ替える方法
つまりアプリケーションの再起動というOSの仕事までやる必要があった。
だから「決定を遅延させる」なんて話が出てくる。
それがOSの力で解決して今は言語に「決定の遅延」をもたせる必要がなくなっている。
決定の遅延の重要性が理解できないのは、時代にあっていないからに過ぎない。

232:デフォルトの名無しさん
17/09/02 12:23:48.00 O1j4weut.net
先送りして後で問題になるではなく
先送りして後で解決してもいいように作る
ってことでしょ

233:デフォルトの名無しさん
17/09/02 12:23:51.73 x3xo3AHA.net
容易かつ安全に置き換えられるのはアプリだけで
OSの更新はOSを停止せずにできないように思うかもしれないが。
そこでクラウドというものがでてくる。
システムをサービス化して、ネットワークで通信させることにより
システムを疎結合にして無停止でシステムを容易かつ安全に置き換えることが
できるようになってる。
説明するまでもないと思うが、古いシステムを使いながら
裏で新しいシステムを準備し、新しいシステムが有効になったら
ネットワーク経路を切り替える。
OSもネットワークもろくにない時代に言語だけで問題を
解決する方法を模索していたってだけで現代には合わないのさ。
すでに現代はシステム全体で見れば、決定の遅延を行っており
容易かつ安全に置き換えられるシステムができあがってる。
それは言語に求めることじゃない

234:デフォルトの名無しさん
17/09/02 12:26:11.03 O1j4weut.net
以上
アホの戯言でした

235:デフォルトの名無しさん
17/09/02 12:32:31.35 x3xo3AHA.net
反論なし

236:デフォルトの名無しさん
17/09/02 12:49:27.80 x3xo3AHA.net
あと昔と今の違いは今は素人が使っているという点があるな。
別の言い方をすれば、プログラムを作った人と使う人が違う。

言語レベルで対応してモジュールや関数単位で、
容易かつ安全に置き換えられるようになったとしよう。
でもそれはあくまで言語レベルであり、メッセージの送り側と
受け取り側の両方がメッセージの内容を正しく理解できなければ
バグなく動くことはできない。
しかしその点は無視されている。バグであってもシステムが停止せずに
動き続けていればOK。バグによってデータがおかしくなっても
停止しないシステム上で修正すればいい。バグによって処理が停止しても
デバッガが起動してシステムを直して再開できればOK
当時の「容易かつ安全に置き換えられる」っていうのは
停止しないシステム上で人間がトラブルに対処して再開できればいいというレベル
コンピュータを使ってる人=プログラマ(素人ではない)なので
自分(もしくは担当技術者に依頼)して対応するという前提になってる

237:デフォルトの名無しさん
17/09/02 12:51:57.25 Z0VXJAOw.net
完全に早期結合の考え方なんだよね
どこから指摘してよいものかちょっと迷う

238:デフォルトの名無しさん
17/09/02 12:53:17.39 Z0VXJAOw.net
とりあえず、参照元読んでもらうことはできる?
それについての疑問に答える方が効率的かなと思う

239:デフォルトの名無しさん
17/09/02 12:58:10.04 x3xo3AHA.net
参照元なんて無いから、
俺に反論してくれればそれでいい

240:デフォルトの名無しさん
17/09/02 13:00:33.66 x3xo3AHA.net
>>237
今はシステム全体が、物理マシンレベル、仮想マシンレベル、OSレベル、
コンテナレベル、プロセスレベルといった単位で
疎結合になっているから言語自身は早期結合で十分という時代

241:デフォルトの名無しさん
17/09/02 13:00:40.57 Z0VXJAOw.net
>>236
当時っていつの話?
参照先読んでもらえばわかるけど、もう君が言うような「今」の当たり前は70年代に出来ていて
その先を目指すにはって話なのだけど…

242:デフォルトの名無しさん
17/09/02 13:02:55.05 Z0VXJAOw.net
早期結合でできる部分はそれで済ませればいいと思うよ

243:デフォルトの名無しさん
17/09/02 13:05:40.32 x3xo3AHA.net
>>241
> もう君が言うような「今」の当たり前は70年代に出来ていて
70年代のどこにクラウドがあったの?
あんたの言う70年代に出来ていては
原始時代にも石炭はできていて~っていうのと変わらん。
それをうまく使いこなせるようになったのが今だ

244:デフォルトの名無しさん
17/09/02 13:05:45.97 Z0VXJAOw.net
結局、早期結合信奉者の問題は「神の視点」から離れられないことなんだってよくわかる主張だと感じるよ

245:デフォルトの名無しさん
17/09/02 13:06:35.50 x3xo3AHA.net
神じゃねーけどなw

246:デフォルトの名無しさん
17/09/02 13:07:04.78 x3xo3AHA.net
厨二「ふっふっふ、われは神の視点を持つもの」

247:デフォルトの名無しさん
17/09/02 13:28:02.93 mrBSaSic.net
>>243
もちろんクラウドなんかはないけど
しかし君が想定しているよりはずっとネット環境は整っていたよ
少なくともアラン・ケイがメッセージ指向を考えたり実験したりしていた場ではね

248:デフォルトの名無しさん
17/09/02 13:57:41.57 x3xo3AHA.net
だがそんな彼でも、ネットワークの向こう側のコンピュータを
何台も用意して、接続先を切り替えながら無停止で
システムを運用するという発想は生まれなかったわけで

249:デフォルトの名無しさん
17/09/02 14:05:57.73 mrBSaSic.net
たぶん参照リンクを参照することをしない人向けには無用かもしれないけど、いちおうは挙げておくと
たとえばこのリストアされたアルトのデモで当時すでに出来ていたことのその片鱗を見て取れる
URLリンク(www.youtube.com)
メッセージ指向の実践として、たとえば動かしているシステムの仕様を動的に変更するとかも
当該動画の14分あたりに
URLリンク(www.youtube.com)
おまけとしてビットコインマイニングも
URLリンク(www.youtube.com)
URLリンク(gigazine.net)

250:デフォルトの名無しさん
17/09/02 14:16:11.69 x3xo3AHA.net
>>249
20~30年前にはすごいと言われたかもしれないけど、
今だとスマホゲームでさえバージョンアップしていくよ
Googleとかいつメンテナンスしてるんだ?ってレベル。
動かしているシステムの仕様を動的に変更するのは難しいことではない

251:デフォルトの名無しさん
17/09/02 14:19:04.95 x3xo3AHA.net
あとそのデモも良くないね。
「やりたいこと」は何か
「それが実現できるか」であれば
今のWindowsだってプラグイン入れれば
メニューが動的に増えるじゃんっていう話で終わりだから。

252:デフォルトの名無しさん
17/09/02 14:25:51.82 x3xo3AHA.net
> あと昔と今の違いは今は素人が使っているという点があるな。
> 別の言い方をすれば、プログラムを作った人と使う人が違う。
あとこの話。動的に仕様が変わってるのはそのとおりだが、
使ってる人が自分で仕様を変えるのか?って話。
デモはいつだってドヤ顔で ”自分が" 仕様を変えている。
違うんだよ。普通は誰か他の人が変えるんだよ。
そして一人のために作業することはないんだよ。
変えたシステムの配布方法(アップデート方法)が必要になるし、
今変えてますから使わないでくださいなんて言えないし、
変えるタイミングは人それぞれにしたいかもしれないし。
使ってる最中に変わったら困るかもしれないし
で、今はシステムの仕様を動的に変えられるかどうか?ではなくて
変えられるの言うのは当たり前の前提で、それをどうやるかって所に進んでる。
言語?なんだって仕様を動的に変えられるよ。コード修正して再コンパイルすればいいだけ

253:デフォルトの名無しさん
17/09/02 14:30:22.26 x3xo3AHA.net
使ってる人がプログラマで自分のために自分が書き換えるなら
「今まさに書き換えていっています!」って状態になるだろうけど、
今まさに書き換えてたりしたら、じゃあテストはどうするんだって話。
普通は書き換えたものをすぐ実用したりしない。
現実には「書き換え後のシステムがすでに用意されています」だからな。
リアルタイムで書き換えることはせずに用意されている。

だから、動的にコードを書き換える機能は実は必須ではなくて
動的にシステムを入れ替える方法があればいい。
それがアプリの再インストールであったり、ネットワーク
越しであればサービスの切り替えだったりする。

254:デフォルトの名無しさん
17/09/02 14:38:23.16 CJZVlBwp.net
シーケンス図みたいにオブジェクトが独立して存在してメッセージをやり取りするってのが本来じゃないの
でも多くの人がここからここを呼び出してこう通ってこっちに戻ってと見てる
いっそ全てのメソッドがブロックしなかったり
オブジェクトがサービスだったらいいんじゃないか

255:デフォルトの名無しさん
17/09/02 14:38:32.54 HZeOuyve.net
アランケイよりズルムケイなワイの方が頭いいと思うけど何か問題ある?

256:デフォルトの名無しさん
17/09/02 14:40:20.62 O1j4weut.net
さっきからダラダラとくっちゃべってるけどランタイムの話じゃねえだろバカ

257:デフォルトの名無しさん
17/09/02 15:14:50.34 9PaYDv7F.net
できる・できないの話ではなく必要となる労力の違いの話というのを理解していない
さらに不確実性やunknown unknownsがもたらす影響も理解していない
だから意思決定を遅らせることが出来るメリットについても理解できない

258:デフォルトの名無しさん
17/09/02 15:38:48.98 Z0VXJAOw.net
結局、早期結合の「神の視点」から離れられないわけで
時間の無駄だと思った

259:デフォルトの名無しさん
17/09/02 15:42:31.91 1DneHKSE.net
部下「Blobの管理どうします?
ファイルシステムかDBかクラウドストレージもありですね。
何を選ぶにせよ顧客との調整が必要なので確定までには時間がかかります。
メッセージ指向的にインフラをインターフェースで隠蔽しておけば今の段階ではとりあえずなんでも良いでしょう。
後で意思決定に合わせて変更できるように作れば安全です。」
x3x「ファイルシステムに決め打ちでハードコードしろ。
俺は賢いから知ってるけどな。
今どきそういうのは言語で対応する必要はないんだ。」
部下「理由を聞いてもよろしいですか」
x3x「今は技術が進歩してるんだ。
システム全体から見ればクラウドとか使って動的に安全に置き換えられるんだよ。
だから言語での対応は必要ないってわけだ。」ドヤッ
部下「何を言ってんだこの白痴(意味不明ですが承知しました。責任は取ってくださいよ)」

260:デフォルトの名無しさん
17/09/02 15:54:36.97 u30btijY.net
長文はバカ

261:デフォルトの名無しさん
17/09/02 16:00:51.78 SLw7DScq.net
>>259
何か思うところがあるのなら、ごたくを並べるのではなくて、
君がそれを使って素晴らしいOSSを書けばいいだけだよ。
新しもの好きや天の邪鬼は世の中に一定割合でいる。
彼等が特に無能でもない。(有能/無能と性格は相関がほぼ無い)
だから現時点でろくな物がない≒使えない、ってこと。
君が自分ではOSSを書けない程無能なら、
せめてOSSでそのメッセージ指向(キリッしてる物を探してくればいい。
使えそうなら、誰かしら試しているはず。
そしてそれが本当に使えるのなら、自然と広まるよ。
大昔からあって、未だに広まってないのなら、ゴミ確定だよ。
それ以前に君はプログラミングしてないだろ。
何故その程度の馬鹿がこの手の議論をしたがるのか俺にはさっぱり分からないが。
> ファイルシステムに決め打ちでハードコードしろ
「ハードコード」の使い方が間違っているし、
それ以前に普通のプログラミングモデルではファイルシステムは隠蔽されてる。
(むしろファイルシステムが直に見える方が珍しい)
> インターフェースで隠蔽
これはOOPで、と言うかそれ以前にAPIで隠蔽されているから、
メッセージ云々関係ないだろ。

262:デフォルトの名無しさん
17/09/02 16:04:35.29 9PaYDv7F.net
>>259
早期結合とは関係ないが
これは部下の方にも十分責任があるだろ
聞き方・聞くタイミング・上司の扱い方など

263:デフォルトの名無しさん
17/09/02 16:07:22.85 1DneHKSE.net
~OOSを書けばいいだけだよ~


ププッ

264:デフォルトの名無しさん
17/09/02 16:10:58.33 HZeOuyve.net
ぐたぐた意味不明な長文書くやつって
srcもプェチピィみたいな屁臭いゴミ使ってぐだぐだバグ仕込むんだろうな
な? (暗黒藁半紙)

265:デフォルトの名無しさん
17/09/02 16:32:42.64 HZeOuyve.net
ぐうの根も出ないか(プー)

266:デフォルトの名無しさん
17/09/02 19:03:41.05 x3xo3AHA.net
自分が理解してないから「どんな問題を解決するか」を語れない。

267:デフォルトの名無しさん
17/09/02 19:10:43.53 x3xo3AHA.net
>>259が意味不明すぎてワロタw
部下「Blobの管理どうします?ファイルシステムかDBかクラウドストレージもありですね」
上司「とりあえずファイルシステムを使ってあとで修正すればいいよ」
部下「ういっす」
これだけで終わりだろw
部下「所で修正はプログラムを実行を停止せずに動的に修正するんですかい?」
上司「普通に停止して再起動すればいいだろ。アクロバティックなことやる必要はない」
部下「ですよねーwwww」

268:デフォルトの名無しさん
17/09/02 19:29:52.53 0osbGpyr.net
>>267
ズレてるねえ
論点そこじゃないって半日以上経ってなんで気が付かないの

269:デフォルトの名無しさん
17/09/02 19:31:05.43 x3xo3AHA.net
客「開発するシステムは何があってもサービスは許さん!24時間365日何があっても動かし続けろ
バージョンアップの際もサービスは停止せずに行うんだ」
部下「これは言語の選定から始めないといけないですね」
上司「なんで?」
部下「○○言語を使わないと動的に仕様変更できないじゃないですかー」
上司「ん?その言語使えば、それだけでハードウェア障害起きてもサービス停止せずに運用できるの?」
部下「え?故障はハードウェアの責任でしょ。関係ないよ。故障するハードウェアが悪んだ」
上司「馬鹿か、故障するのは大前提だ。その上でシステムを作れって話だ」
部下「そんなの無茶だ!ハードウェアが故障したらプログラムも停止するしか無い!」
上司「一台ならな」
部下「なんだと?」
上司「何台、いや何十台とマシンを用意して一台停止してもサービスを停止しないシステムにするんだ」
部下「そんな非現実的なこと・・・コストが馬鹿にならないじゃないか」
上司「クラウドというものを知らないのかね? マシンは必要な台数を必要なタイミングで
わずか数分で用意できる。そしてシステムに動的に追加削除が可能。使用している分しかコストはかからない」
部下「そんなことが・・・」
上司「そしてシステムの更新にはローリングアップデートを使用する」
部下「なんだそれは?」
上司「多数のマシンを動的に追加削除できる仕組みを利用して、一台ずつ段階的に
アップデートを行う。サービスの停止することなく、部分的に更新していくことが可能」
部下「そんなことが実現できるのか・・・」
上司「さて言語はどうするかね? サービスを停止せずに仕様変更はもちろんのこと
マシンの動的な追加削除、再起動だって可能だが? 」
部下「くっ、再起動できるなら、言語にこだわる理由がない。それがクラウドってやつの力なのか・・・」

270:デフォルトの名無しさん
17/09/02 19:31:55.73 x3xo3AHA.net
>>268
> 論点そこじゃないって半日以上経ってなんで気が付かないの
だから論点を明確にしろって言ってんの。
それが言えないのはあんたに「解決できる問題」が見えてない証拠

271:デフォルトの名無しさん
17/09/02 19:35:12.81 SvMhViqK.net
あの人の気配を感じる
いやこいつはもっと馬鹿か

272:デフォルトの名無しさん
17/09/02 19:36:47.91 x3xo3AHA.net
解決できる問題として、動的に仕様を変更できるというが、
言語のレベルで動的に仕様したいなんて誰も思ってないんだわ
仕様の変更は再起動すれば反映できるんだから

273:デフォルトの名無しさん
17/09/02 19:43:45.75 SvMhViqK.net
仕様は静的に変更すんだよ
変更を局所的にして他の部分を保護するためにオブジェクト指向だのメッセージ指向だのを使おうぜというだけの話
動的にデプロイできるなんてのはそれのただの副産物であって今はお前以外は誰も論点にしてないの

274:デフォルトの名無しさん
17/09/02 19:46:47.41 x3xo3AHA.net
> 変更を局所的にして他の部分を保護するためにオブジェクト指向だのメッセージ指向だのを使おうぜというだけの話
その部分を今はネットワーク通信でやろうぜって事になってる。
システム全体がオブジェクト指向になったと言えば理解できるか?
「変更を局所的」=マシン単位 に時代は変わったんだよ。

275:デフォルトの名無しさん
17/09/02 19:49:03.82 x3xo3AHA.net
あ、もちろんマシン単位といっても物理マシン単位という意味じゃなくて
仮想マシン単位だったりコンテナ単位だったりするからな。
変更が局所的にすんでるだろう?w

276:デフォルトの名無しさん
17/09/02 19:53:58.37 x3xo3AHA.net
それに動的に仕様変更できたとしても突発的なハードウェア障害には対応できない。
それは別の話だと思うかもしれないが、仕様変更であれば別に動的に
やる必要はなく再起動すれば十分。再起動が許されないから動的に仕様変更するのが
要件になっているのだと思うが、再起動が許されないようなシステムは
どちらにしろハードウェア障害にも対応できるのが要件の一つとなるはず。
ハードウェア障害にも耐えられるようなシステムにすると副次的に
動的な仕様変更にも対応できるようになるんだよ。
言語レベルでやることじゃない。

277:デフォルトの名無しさん
17/09/02 19:54:58.55 x3xo3AHA.net
で、それ以外に論点が有るというのなら
「解決できる問題」とやらを明確に書けって話

278:デフォルトの名無しさん
17/09/02 20:01:06.49 mrBSaSic.net
設計、実装、運用を対象に「メッセージ」を方便に「決定の遅延」を徹底するアイデアがありました
仕様策定、言語、マシン単位で今では当たり前の考え方として普及しました
めでたしめでたし でいい話をなにを長々と

279:デフォルトの名無しさん
17/09/02 20:03:11.91 x3xo3AHA.net
>>278
たぶんその結果、アプリを起動したまま
デバッガなどで動的に変更できることの意味が
なくなったかのようにみえるのが悔しいんだと思うw

280:デフォルトの名無しさん
17/09/02 20:05:24.10 mrBSaSic.net
>>276
なんで「決定の遅延」が可能とする例のひとつに挙がっただけの動的な仕様変更にそこまで拘るのか謎
コンプレックスでもあるのか?

281:デフォルトの名無しさん
17/09/02 20:10:44.54 x3xo3AHA.net
>>280
だから、それ以外の「解決できる問題」がでてないから。
例が一つしか出てないんだから、それにこだわるしか無いわなw
さっさと他の例だせよ

282:デフォルトの名無しさん
17/09/02 20:14:14.69 je61f8uF.net
なんとな
頭の悪いID:x3xo3AHAがキチガイみたいに26もレスしてすっかり流れてしまったが
メッセージングとは「手続き」のこと
相互作用とは「手続き」のこと
それから>>254の考え方
> いっそ全てのメソッドがブロックしなかったり
> オブジェクトがサービスだったらいいんじゃないか
は非常にまずい、うまくない
オブジェクトを沢山作ったらなんか勝手に互いにコミュニケーション初めて
結果、自分の求めていた機能が得られました!
はマズい、そんな遠回りなことしたいやつはいない
俺らは生態系のシミュレーションプログラムを書いているわけじゃないし
シミュレーションの結果として目的が達成される、とはしたくない
あくまでオブジェクトは道具であり、こちらが主導権をもって手続きから制御して使う
そのためにも手続きが簡潔、何がどの順番で実行されるか一目瞭然に
なるよう念頭に置いて、逆算してクラスを設計する

283:デフォルトの名無しさん
17/09/02 20:15:21.59 x3xo3AHA.net
つーか>>259のアホらしいネタにつきあれば
「決定の遅延」だけなら、あとで
ソースコード修正すればすむだけの話なんだよ。
難しいことはにもない。どんな方法でも実現できる
>>267で書いたようにこの方法でも「決定の遅延」w行ってる。
> 部下「Blobの管理どうします?ファイルシステムかDBかクラウドストレージもありですね」
> 上司「とりあえずファイルシステムを使ってあとで修正すればいいよ」
> 部下「ういっす」

だからあんたの言う「決定の遅延」は本質ではないってことなんだよ。
そこに隠された本当の条件があるだろ?

284:デフォルトの名無しさん
17/09/02 20:22:33.54 mrBSaSic.net
>>281
> だから、それ以外の「解決できる問題」がでてない
だから URLリンク(metatoys.org) を一度読めよと何度いったら…

285:デフォルトの名無しさん
17/09/02 20:23:23.96 je61f8uF.net
>>254のような変なことを考えてしまうやつが出てくるのが
オブジェクト指向という名前のまずさだろうな
もしメッセージング指向って名前ならこんな勘違いするはずなかった
メッセージング指向とは:
メッセージのやり取りを実行順に順番に並べて定義する(←プログラム、手続き)ことで
プログラミングする方式
っていう感じの定義になってただろうからな

286:デフォルトの名無しさん
17/09/02 20:24:40.70 x3xo3AHA.net
>>284
よんだ。書いてない。以上

287:デフォルトの名無しさん
17/09/02 20:24:49.03 je61f8uF.net
Smalltalkerまで暴れてるのか

288:デフォルトの名無しさん
17/09/02 20:29:11.30 x3xo3AHA.net
>>285
メッセージング指向言語なら、勘違いしたかもしれないが、
メッセージング指向システムなら、勘違いしなかったかもねw
「システム」であれば単一の言語でやることじゃなくて
どんな言語であるかは関係なく、システムを小さなプロセスに分離して
そのプロセス間通信(ネットワーク通信)でシステムを構成するという
言語にとらわれない発想につながる
ようは「オブジェクト指向言語」や「メッセージング指向言語」の
「オブジェクト指向」や「メッセージング指向」部分が勘違いの原因ではなく
そのあとにくっつけてる「言語」が勘違いの原因だよ。

「決定の遅延」とやらは言語レベルでやることじゃぁないって話

289:デフォルトの名無しさん
17/09/02 20:31:23.03 x3xo3AHA.net
あ、もちろん
> 「決定の遅延」とやらは言語レベルでやることじゃぁないって話
は、今だから言えること。
昔のOSがなくて、言語環境がOSそのものである時代に
そんな発想ができなかったのは仕方ない話。

290:デフォルトの名無しさん
17/09/02 20:31:32.64 SvMhViqK.net
素直にNGが正解だったか
このスレではよくあることだが
キチガイを隔離できないと議論の場にもならないな

291:デフォルトの名無しさん
17/09/02 20:35:08.35 x3xo3AHA.net
いや反論もなくて、ただ単に書き込み数が多いだけで
キチガイと判断されても困るんですけどーw

292:デフォルトの名無しさん
17/09/02 20:36:31.71 x3xo3AHA.net
つーかNGにするならさっさとしてくれ。
そうすりゃ俺の書き込みが見えなくなって
「俺の書き込みに反論ができない」から
俺としては好都合

293:デフォルトの名無しさん
17/09/02 20:37:52.79 mrBSaSic.net
>>286
- もしもシステムの基礎に基本的に新しい方法を採用しようとすれば
 かなり最初からやり直さなくてはならない。
- ソフトウェアシステムにおいて全コストの85% は成功裏に導入された後で必要になる。
 コストのおおまかな内容は、新しい要求に応える為の変更、後で発見されるバグ等
- 遅延結合を使う事で、プロジェクト開発の遅い時期に得られた知見を
 指数関数的に少ない工数でプロジェクトに適用出来る
- プロジェクトを一年以上続けていて、沢山の大切な物が出来上がっているとする。
 システムを破壊せずに、何万もの動いているオブジェクトがあるクラスに
 いくつかのインスタンス変数を追加して、動的にそれらを再構成する事は出来るだろうか?
- 開発システムをそれ自体のモデルにさせて、開発中に新しいアイデアとして進化させる事
- インスタンスそのものはどのように作られるだろうか? 変数は実のところどうか?
 簡単に様々な継承構造の記法を実現出来るか? プロトタイプがクラスよりも上手く働くかどうか決定して、
 プロトタイプベースの設計に移動する事が出来るだろうか?
きりがないからやめるけど、どうしてこんな程度が読み取れない? 失読症?

294:デフォルトの名無しさん
17/09/02 20:37:55.72 w/8WFsta.net
>>292
永久NGしたいんでコテハン付けてくれ
好都合なら今日だけと言わずずっとそうしようぜ

295:デフォルトの名無しさん
17/09/02 20:43:07.29 SLw7DScq.net
>>280
それは完全に「メッセージ指向派」が悪い。
これ関しては、ID:x3xo3AHAが100%正しい。
プログラミングは結果ではなく手段でしかない。
「○○指向」するのは何らかの目的があっての事だ。
「決定の遅延」によって何を得たいのか、それを明示出来ない時点で
「決定の遅延」なんて使い物にならない、と言っているのと同じ。
ID:x3xo3AHAは、「決定の遅延」によって得たい物が「仕様変更」なら、
それは既に他の方法で十分に達成されているから要らない、と繰り返し述べているだけ。
これ自体は全くその通りだし、
議論を進める為に「他の目的を明示しろ」というのも至極まっとうな意見だよ。
そして>>284にはそれが書いてないのも確かだよ。
>>284内でグダグダ言われていることは、
Evalを持っている言語なら普通に出来ることでしかない。
しかしEvalは普通は要らんというのも事実だし、
メジャーなEval使える言語(JavaScript)もあるんだし、欲しければそれ使え、でしかない。
>>293
それが今対応出来てなくて、「決定の遅延」で対応出来るとでも思ってるの?

296:デフォルトの名無しさん
17/09/02 20:44:58.90 x3xo3AHA.net
>>293
お前さんずれてるなぁw
それは単にオブジェクト指向の利点でしか無いだろw
俺はずっと>>229の話をしているというのに
> 229 名前:デフォルトの名無しさん[sage] 投稿日:2017/09/02(土) 11:48:07.70 ID:x3xo3AHA [3/34]
> > メッセージ指向が目指したのは「可能な限りの決定の遅延」
>
> 決定の遅延は、問題の先送りと考えればよい。
> 結局あとから問題が発覚するだけにすぎない。
じゃあ、メッセージ指向が目指したのは「可能な限りの決定の遅延」は
大した意味はなく、メッセージ指向と言い換えなくても、
「オブジェクト指向の利点」として今よく知られているものだけで十分ってことだね?
人々は何も誤解していないってことになる。

297:デフォルトの名無しさん
17/09/02 20:52:24.82 x3xo3AHA.net
でもまあこのくだらない会話でも少しは意味があったな。
それは俺が、「決定を遅延させるだけ」ならば、
あとからソースコードを修正してシステムを再起動すれば
実現可能だってちゃんと認識できたってことだ。
つまり決定の遅延と誰かが言ってる時、その「決定の遅延」は本質ではなく、
本質は「プロセスを停止しなくてすむ(サービスの停止時間が短くてすむ)」と
言ってるにすぎないということ

298:デフォルトの名無しさん
17/09/02 20:55:32.24 mrBSaSic.net
>>296
だからメッセージは方便、唱えていればそれなりに実践はできるお題目だって >>228 でいってるじゃん
本質である「決定の遅延」の徹底の意味の理解ができていれば、メッセージなんて無用ですらあるよ
君の「メッセージ指向」批判もどきはいちいち的を外しているし、端から見れば >>278 に尽きる

299:デフォルトの名無しさん
17/09/02 20:59:12.98 mrBSaSic.net
>>297
> 「決定を遅延させるだけ」ならば、
> あとからソースコードを修正してシステムを再起動すれば
> 実現可能
その再起動で失われる物がなにもなければ別にいいと思うよ

300:デフォルトの名無しさん
17/09/02 21:00:04.98 x3xo3AHA.net
では、メッセージ指向なんて言わずに
決定の遅延指向っていえばいいんじゃないですかねぇ?
メッセージに決定の遅延という意味はない
なんで言い換えるの?
オブジェクト指向と言い換えたことで勘違いさせたのと同じ問題を
メッセージ指向でも発生させている。

301:デフォルトの名無しさん
17/09/02 21:01:52.97 x3xo3AHA.net
>>299
> その再起動で失われる物がなにもなければ別にいいと思うよ
どんなものを使っても
ハードウェア障害などでいきなり電源プッチンすれば、
永続化していないなにかが失われると思うが?
そんなもん言語レベルで解決する方法存在すんの?
ハードウェアの冗長化などしてシステムレベルで担保するもんでしょ

302:デフォルトの名無しさん
17/09/02 21:05:25.64 x3xo3AHA.net
そうだなー俺だったら「疎結合システム」って名前にするかな
「指向」っていうのもおそらく勘違いの原因になってる。
指向というより、システムだからね
んで、別にそこに言語は問わない。

303:デフォルトの名無しさん
17/09/02 21:06:13.43 mrBSaSic.net
Smalltalkだの動的な仕様変更だのを目の敵にしすぎでまともな議論ができんよ

304:デフォルトの名無しさん
17/09/02 21:09:52.20 mrBSaSic.net
>>300
いちいち的を外すね
そもそも「メッセージ指向」が、アラン・ケイは自らのオブジェクト指向をこう呼ぶべきだったって話だろう
「決定の遅延指向」でも「疎結合システム試行」なんでもいいけど
よく理解できない人がいるから方便・お題目としてメッセージってメタファを使ってるんだよ
話を堂々巡りさせるなよ

305:デフォルトの名無しさん
17/09/02 21:16:57.87 x3xo3AHA.net
下手なメタファは混乱のものと
「メッセージ」で何も理解出来ない。
そもそもメッセージは手段であって
実現したいことじゃない。
実現したいことを語らず手段から入るから
だめなんだよ。

306:デフォルトの名無しさん
17/09/02 21:18:20.73 mrBSaSic.net
>>301
なんでこの期に及んまだ「言語レベル」に拘るの? バカなの?

307:デフォルトの名無しさん
17/09/02 21:23:02.25 x3xo3AHA.net
>>306
疎結合システムは言語レベルで実現するものではない
というのが主張だから。

308:デフォルトの名無しさん
17/09/02 21:25:05.65 w/8WFsta.net
>>307
コテハンはやくしてよ

309:デフォルトの名無しさん
17/09/02 21:25:30.70 mrBSaSic.net
>>307
勝手にやってろと

310:デフォルトの名無しさん
17/09/02 21:26:53.87 fbxz7fkL.net
伸ばしてるヤツが居るときは読まなくていい
コテハン案は賛成

311:デフォルトの名無しさん
17/09/02 21:28:16.23 x3xo3AHA.net
>>308
しない。

312:デフォルトの名無しさん
17/09/02 21:29:03.24 x3xo3AHA.net
本質ではないこと(書き込み数が多いぞ)という
指摘が多いからIPアドレス変えるわw

313:デフォルトの名無しさん
17/09/02 21:29:35.74 bwiWyWdK.net
ほらよw 変わった。(もう一回変えるw)

314:デフォルトの名無しさん
17/09/02 21:29:43.61 w/8WFsta.net
>>311
してくれ頼む
そっちにとっても都合がいいんだろ
さっきそう言ってたじゃないか

315:デフォルトの名無しさん
17/09/02 21:30:49.34 UGkdV3fd.net
なお、変えた所でレス内容見れば誰かわかるから
問題ないだろ?というスタンス
単に同じIDがたくさんあることに対して
ストレスを感じる人への救済策w

316:デフォルトの名無しさん
17/09/02 21:31:12.55 w/8WFsta.net
特徴的な長文だからid変えたって無駄だよ
何度でもNGされる
でもそれじゃ不便だろう?
だからコテハンをつけてくれ
毎日NGする手間のせいでみんなが迷惑してるんだよ

317:
17/09/02 21:32:17.96 qPg7LdX5.net
>>314
ほらよ。してやったぞ。
なお他の誰かとかぶっていても俺は知らん

318:デフォルトの名無しさん
17/09/02 21:32:29.97 w/8WFsta.net
わかりきった単純作業はしたくないの
みんなプログラマだから
お前が少し協力的になるだけでみんなが喜ぶ
なんでそうしない
他人に迷惑をかけたいのか?

319:
17/09/02 21:33:06.20 qPg7LdX5.net
>>316
その理屈だとコテハン付けても
俺は何もメリット無いじゃん?w

320:デフォルトの名無しさん
17/09/02 21:33:12.12 w/8WFsta.net
>>317
良し
死ぬまで絶対にコテハン変えるなよ

321:デフォルトの名無しさん
17/09/02 21:33:47.27 qPg7LdX5.net
というコテハンはどうだろう?w

322:
17/09/02 21:34:05.71 qPg7LdX5.net
>>320
あ、ごめんwもう変えたw

323:デフォルトの名無しさん
17/09/02 21:34:06.11 w/8WFsta.net
>>319
お前は反論を受けて反論し返す労力がなくなって楽になるだろ
Win-Winの関係だ
じゃあなバイバイ

324:デフォルトの名無しさん
17/09/02 21:34:47.73 w/8WFsta.net
>>322
変えるなよハゲ

325:
17/09/02 21:35:06.66 qPg7LdX5.net
>>323
> お前は反論を受けて反論し返す労力がなくなって楽になるだろ
いや、別に?
なんのために匿名掲示板に
書き込んでると思ってるんだw

326:
17/09/02 21:35:24.99 qPg7LdX5.net
>>324
ハゲじゃねーよw

327:
17/09/02 21:35:54.30 qPg7LdX5.net
よし。あそんだからまたIP変えるわw

328:デフォルトの名無しさん
17/09/02 21:36:26.88 fbxz7fkL.net
固定ハンドルネームの意味も知らないのか

329:デフォルトの名無しさん
17/09/02 21:44:03.05 Wpy+cxIC.net
固定ハンドルネームの意味は少なくとも
NGにしたい人に対してお願いして
付けてもらうものじゃなかったと思うが

330:デフォルトの名無しさん
17/09/02 21:49:40.24 fbxz7fkL.net
>>329
>>292 って言ってるから協力してくれると思ってたわ

331:デフォルトの名無しさん
17/09/02 21:51:20.29 Wpy+cxIC.net
>>330
NGならIDでできるだろ?
それなら俺には手間はかからない
やるなら今ある情報で勝手にやってくれって話
俺は自由にやりたいようにやる

332:デフォルトの名無しさん
17/09/02 22:45:14.73 fbxz7fkL.net
>>331
おまえ自身が実践してるようにIDは変化するんだよ

333:デフォルトの名無しさん
17/09/02 22:53:17.53 w/8WFsta.net
「あ」はその点、潔かったな
それと比べてこいつは言うことも馬鹿馬鹿しいが性格が姑息だ

334:デフォルトの名無しさん
17/09/02 23:00:10.31 Wpy+cxIC.net
>>332
変化しても見つけたらそばから
NGすりゃいいだけじゃん?
レスするぐらならNGにすればいい

335:デフォルトの名無しさん
17/09/03 02:48:19.90 ne8qPBqk.net
>>282
まったく読めてないな
誰がうまく行くなんて言ってるんだ
お前のやりたいことは上から下に流れる行番号プログラムが一番お似合いなんじゃないか?

336:デフォルトの名無しさん
17/09/03 07:34:16.18 hrqzcgfY.net
未だにコテハンに拘るやつって・・・
何歳?ガイジ?痴呆老人?

337:デフォルトの名無しさん
17/09/06 01:04:35.69 j4+F5TZ8.net
>>334
エンジニアの才能ゼロ臭がすごい

338:デフォルトの名無しさん
17/09/06 07:52:17.25 f+iOByXp.net
日本人エンジニアとしては優秀
何度でもリピートユアセルフが日本人エンジニアの信念だからね

339:デフォルトの名無しさん
17/09/12 17:44:55.65 kqpNBs15.net
オブジェクト思考の設計とRDBMSの理論って
多分似たような考え方が多いんと思うんだけど、
それぞれ別々の用語で語られるから整合性をとるのが
大変。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch