[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/30 02:18 / Filesize : 310 KB / Number-of Response : 1019
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

オブジェクト指向は愚かな考え。この世は計算式 ★2



1 名前:デフォルトの名無しさん [2015/12/15(火) 13:23:08.06 ID:Rib62xXq.net]
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
https://twitter.com/ProgrammingMono/status/665702678006140928

研究グループは、血管新生注において血管が伸長する際の血管内皮細胞注運動を制御するしくみを、生物学と数理モデル・
コンピュータシミュレーションを融合させた先端的な研究手法により明らかにしました。

生物は、最小の機能単位である細胞が寄り集まった多細胞体です。しかし、細胞の集まりが、組織や器官といった
秩序ある形態や構造をつくり機能するしくみはほとんど分かっていません。中でも血管は、体中の全組織に十分な
酸素や栄養源を効率よく供給するため、組織や組織の間に入り込み、血管外の環境との相互作用により、巧妙な
枝分かれ構造をとっています。

これまでに本研究グループは、新しく血管がつくられる(血管新生)際の細胞の動きに着目し、特に血管内皮細胞の
動きをリアルタイムで可視化し、定量的に捉えることを可能にしてきました。

今回さらに、血管の伸長を制御するしくみについて、細胞が自発的に自らを制御して動く過程(自律的過程)と、
隣接した細胞から適宜影響を受けて動く過程(協調的過程)がうまく共存することで、全体の動きが巧みに統制
されていることを世界に先駆けて実証しました。

興味深いことに、血管内皮細胞が前後したり、お互いに追い抜きあったりという血管新生で見られる複雑な細胞集団の
動きを制御している中枢部分は、細胞一つ一つの動き(スピードと方向性)の「確率的な変化」として十分説明できる
ことをコンピュータシミュレーションで実証しました。
www.jst.go.jp/pr/announce/20151120-2/#YOUGO3

前スレ
オブジェクト指向は愚かな考え。この世は計算式
peace.2ch.net/test/read.cgi/tech/1447990379/

2 名前:デフォルトの名無しさん [2015/12/15(火) 13:23:59.26 ID:Rib62xXq.net]
前スレ
オブジェクト指向は愚かな考え。この世は計算式
peace.2ch.net/test/read.cgi/tech/1447990379/

3 名前:デフォルトの名無しさん [2015/12/15(火) 13:24:32.37 ID:Rib62xXq.net]
このスレ
オブジェクト指向は愚かな考え。この世は計算式 ★2
peace.2ch.net/test/read.cgi/tech/1450153388/

4 名前:デフォルトの名無しさん [2015/12/15(火) 13:24:54.73 ID:Ln94sVRZ.net]
>>1の参考
mysearch.ritlweb.com/search/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%AF%E6%84%9A%E3%81%8B%E3%81%AA%E8%80%83%E3%81%88

5 名前:デフォルトの名無しさん [2015/12/16(水) 01:25:36.21 ID:017P2otv.net]
結局、Smalltalkが最強という結論でFA?

6 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 01:35:54.96 ID:R3uzXom/.net]
前スレ>>999

意味がないってことはないですよ。

動的遅延結合をモットーとするSmalltalkでは、コンパイル時間を短くするのはもちろん、
コンパイルが通らないエラーを含めてソフトウェアが動作しなくなる時間をできるだけ無くす必要があるので。

それに、エラーがでなくなるように修正するのと、スタブが生じないように修正するのとで
本質は変わらんでしょう。

あとSmalltalkはコンパイル処理も自身のプロセス内で動的に行なうしくみなので
「コンパイル時に」と「動的に」は矛盾しません。

7 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 01:55:51.94 ID:mFWCIMTJ.net]
>>5
個人的には、Smalltalkerが度々ハッスルして他の人たちが辟易してる構図に見える
系譜としてのobj-cと成功例としてのiOSが引き合いに出されると、だいたい客観的な反論が出されてSmalltalkerが黙るという構図じゃなかったかな。

8 名前:Objective-Cの人 mailto:sage [2015/12/16(水) 02:15:28.68 ID:hnVuOn0r.net]
? Objective-Cのメッセージングはsmalltalk由来というか
smalltalkそのまんまとは聞いてるが、俺はsmalltalk自体は
弄ったことないから知らんよ?
そもそも、Objective-Cの話に対してまともなレスは一個も返ってきてなくて
「だからマカーは!」だけしか言ってこないから(ああ、知らんのだ…)で流してるし。

9 名前:Objective-Cの人 mailto:sage [2015/12/16(水) 02:34:00.21 ID:hnVuOn0r.net]
動的静的もなんも、そもそもObjective-Cはインスタンスの管理に
参照カウント形式(呼んだらインスタンス内のカウンタに+1終わったら-1、0になったら誰も使ってないから解放するシステム)
を使用してるから、コンパイル時に「ここで呼んで、ここで解放して」と
ひととおりオブジェクトの生成消滅を追跡してエラー探してエラーメッセージ吐くから
定期的に言い出してる「動的だとエラーがわかんねぇだろ!」って謎の思い込み発言の意味がわからんし。

動的だと単に動的にインスタンスが他でなんとかしてる可能性があるから
コンパイル時の「ここで呼んでも居ねぇんじゃね?」が静的だと致命的エラーになるところが単に
「ここで呼んでも居ない可能性あるよね?」ってワーニングになるだけだし
ワーニング読んでプログラマーが自分で内容判断するだけだろ。

10 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 02:38:50.14 ID:mFWCIMTJ.net]
いやすまん。火種蒔きたい訳ではないのでその認識に訂正、謝罪の上で同調しておきます

個人的には、ゴールのない議論になっちゃってるのを最優先な問題、課題として提示したいw

前スレの流れだと、「ruby派ぶっ倒してやったわ」とか「ほら関数型が最強だろボケが」とか個々人が全く別種の達成感を感じているのではなかろうか。



11 名前:Objective-Cの人 mailto:sage [2015/12/16(水) 02:44:48.13 ID:hnVuOn0r.net]
もひとつ、考え方が違うなーと思ったのはむかし分野違いのプログラマーと話してて

え?Objective-Cのインスタンスに定義されてないメッセージ(メソッド)が送られた時?
単純にインスタンスは"そんな命令は知りません"ってただ無視してふつうに動作続けるよ?

って言ったらそれじゃバグが見つからない!とか謎の発言をして固まってたこと。
いや、やれ!って命令して反応返らないんだからすぐわかるだろうそれ。

12 名前:デフォルトの名無しさん [2015/12/16(水) 02:53:40.58 ID:UIvh2pdg.net]
>ただ無視してふつうに動作続けるよ?
この説明だとダメだろ

13 名前:Objective-Cの人 mailto:sage [2015/12/16(水) 02:54:06.15 ID:hnVuOn0r.net]
>>10
だいたい途中からわざと議論にならない妙なこと書いてスレ伸ばしてる子がいるから
そういう期間は眺めてる。動的静的の理解がおかしいしあれは絡みようがない。

14 名前:uy ◆Qawu9.2l1E [2015/12/16(水) 03:55:57.26 ID:1rtzXOsl.net]
またrubyが勝ってしまったわけね

そうだと思った

15 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 04:26:33.21 ID:SEae+C8u.net]
>>11
> いや、やれ!って命令して反応返らないんだからすぐわかるだろうそれ。

え? 「やれ!って命令して反応返らなかったら」わかると思ってるの?
反応が返るかどうかを、誰が調べてるんだよ?

命令が正しく実行されたか調べるコードを書かないと
行けないってことで、それ面倒なだけだし、それを忘れると
バグの元になるじゃん。

16 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 04:27:05.13 ID:SEae+C8u.net]
それに副作用を持つ関数は、戻り値voidだったりするしさ。
>>11はちょっと想像力が足りないみたい。

17 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 06:03:16.00 ID:dzfkExTj.net]
>>7
だーかーらー、
おまえはまず自分の無知を自覚しろってw

18 名前:uy ◆Qawu9.2l1E [2015/12/16(水) 06:55:38.58 ID:L2apS2Qu.net]
vim scriptもメソッド見つからない時って強引に走らせ続けるんだっけ?

19 名前:デフォルトの名無しさん [2015/12/16(水) 08:12:16.73 ID:FTfTBK6H.net]
オブジェクト指向は愚かな考え。

20 名前:デフォルトの名無しさん [2015/12/16(水) 08:29:39.35 ID:7uqbUkJH.net]
Objective-cの記述量ほんと嫌い



21 名前:デフォルトの名無しさん [2015/12/16(水) 08:41:12.56 ID:fgV80IeN.net]
>>15
まぁ普通はそうおもうわな
んで、Obj-Cの人としては「どうすれば良いのか知ってる」からそれが分かるといってるようだから
まずはそれ書いたらいいんじゃねーかな
たぶん、例外ははけるけど基本はそれはcatchするのではなくfinally的なレベルではけるよってだけ
だと思うけど

22 名前:デフォルトの名無しさん [2015/12/16(水) 08:43:16.65 ID:fgV80IeN.net]
まぁでも「呼び出したのに呼ばれてないけどその後も続行する」なんてインタプリタ言語以外で
そんな動きされんの迷惑だわ

23 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 08:56:33.85 ID:SEae+C8u.net]
例外が出てるのにそれを握りつぶすのは悪いやり方だけど、
メソッドがなくても動くのは、、例外が出てるのにそれを
例外を握りつぶすのと同じ。

プログラムは書いたとおりに動くが、
書いた通りに動くことが、正解じゃない。

仕様通りに動くことが正解であり、動いているからって
仕様通りの動きでなければ、それはバグ。
言っとくけど、仕様っていうのは言語仕様じゃないぞ。
アプリの仕様だ。

24 名前:デフォルトの名無しさん [2015/12/16(水) 09:05:12.96 ID:fgV80IeN.net]
>>23
せやね

25 名前:デフォルトの名無しさん [2015/12/16(水) 09:28:12.04 ID:AqyIi4A0.net]
ソースコードが仕様書で、それが停止せずに動くなら
バグなんて存在しないって立場だろ
Obj-Cで素人アプリ作ってる奴ならそれでも良いじゃん

26 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 11:03:03.62 ID:Ulco0f/2.net]
仕様以外の動きはバグ?
すごいよな
そうなるとOS仕様+アプリ仕様を精査しなければ

27 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 11:17:18.63 ID:eqSTcsSB.net]
レールから外れて脱線するかもしれないが、そのままどこかへ走り去る心配はない列車と、
どこ行くかわからない自動車の違いみたいなものかと想像していたよ。

28 名前:unrecognized selector to instance [2015/12/16(水) 11:42:30.84 ID:etXhzojx.net]
>>11
Objective-Cは、存在しないメソッド呼んだら落ちるがな。
いったいどんな環境の話だよ。

29 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 11:43:49.25 ID:v8L8DVNA.net]
人間に飛べと命令すると地球が爆発する言語

30 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 12:09:43.96 ID:SEae+C8u.net]
>>29
それ何のたとえ?w
センスが無いね



31 名前:デフォルトの名無しさん [2015/12/16(水) 14:50:10.61 ID:nvDs2EAX.net]
オブジェクト指向って肥大化すると
あるインスタンスのメソッドを使う際に、
そのインスタンスのプロパティのプロパティのプロパティのプロパティのプロパティが影響したりしてデバッグが大変だったりするよね。

32 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 14:53:17.28 ID:eqSTcsSB.net]
ひでぶ

33 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 14:56:01.55 ID:etXhzojx.net]
>>31
そうならないように作る必要があるね。
その例だと、そのプロパティのオブジェクトに外からは直接さわれないようにするとか、
1階層で断ち切る必要がある。

34 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 21:06:02.90 ID:uNQnNzO9.net]
>>28
Obj-Cの動作だと存在しないのを呼んだから落ちるんじゃなくて
存在しないメソッドを呼んでも応答しないから
返り値がnullで"呼んだクラスが"処理できなくて落ちてるんだろう

35 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 21:43:54.69 ID:u9Ia4Qec.net]
Obj-Cは良いところはCの上位互換なところで、
悪いところはSmalltalkに影響を受けてるところ

36 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 22:06:58.45 ID:6HcXJhed.net]
それが本当ならSwiftを「Objective-c without c」と喧伝してたApple最悪やな

37 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 22:47:07.63 ID:DoMVf2Rv.net]
Smalltalkerには皆こっぴどく虐められてんだな…

38 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 23:01:47.94 ID:etXhzojx.net]
>>34
メッセージの送信側オブジェクトには処理は戻らない。
ランタイムが例外投げてcatchされなければ終了。

39 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 23:14:18.71 ID:zYgiBPWI.net]
「静的型付け」言語しか知らない奴に、「動的型付け」言語の話をしたって分かるはずがないじゃん

例えるなら、野球の試合をサッカーのルールで解説するようなもんだ

40 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 00:44:59.09 ID:gwKZvSId.net]
>>38
それはC++やJavaやRubyを含めた
オブジェクト指向言語の一般的な動きだ。

Objective-C特有の話をしなさいよ



41 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 00:45:32.82 ID:Kcx2I8yF.net]
>>40
同じだっつうのw

42 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 00:46:15.76 ID:gwKZvSId.net]
>>39
> 「静的型付け」言語しか知らない奴に、「動的型付け」言語の話をしたって分かるはずがないじゃん

なるほど。動的型付け言語の話しか知らない奴に
静的型付けの話をしてもわからないっていいたいわけだなw

43 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 00:46:47.66 ID:gwKZvSId.net]
>>41
Objective-Cは他のオブジェクト指向言語よりも凄いって話じゃなかったのか?

44 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 00:47:42.76 ID:Kcx2I8yF.net]
>>43
誰が凄いって言ったんだ?

45 名前:デフォルトの名無しさん [2015/12/17(木) 01:01:08.15 ID:9iUNReL+.net]
>>33
プロパティとなっているオブジェクトの状態の数だけテストしないとならないのは辛い

46 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 01:03:31.69 ID:Kcx2I8yF.net]
>>45
オブジェクトごとにテストすれば良くね?

47 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 01:04:21.44 ID:Z0rIjNHq.net]
「動的型付け」言語を使ってる人は大概「静的型付け」言語をつかったことがあるだろ。
その逆は真ならざるが

48 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 01:04:26.64 ID:gwKZvSId.net]
>>45
関数型であっても、データはデータベースに保存するし、
そのデータ=オブジェクトの状態なので結局テストが大変なのは同じ。

49 名前:デフォルトの名無しさん [2015/12/17(木) 01:07:33.17 ID:9iUNReL+.net]
>>35-36
1986年
ブラッド・コックスとトム・ラブがObjective-Cを作り、「この言語は

50 名前:Cのメモリ安全性とSmalltalkの高速性を合わせたものだ」と宣言する。
現代の歴史家は2人が失読症ではないかと疑っている。

Smalltalkが人気なさすぎたのでCのライブラリを使えるようにしたんだろうな。
[]
[ここ壊れてます]



51 名前:デフォルトの名無しさん [2015/12/17(木) 01:10:40.77 ID:9iUNReL+.net]
>>43
Cのライブラリを使えるようにした代償としてCの悪い部分も取り込んでしまった。
Mac使ってるプログラマも増えたことだしCを切り捨て理想型に戻りましょうという事だろうね。

52 名前:デフォルトの名無しさん [2015/12/17(木) 01:11:22.61 ID:9iUNReL+.net]
>>48
確かに

53 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 01:19:27.22 ID:sxT+KKiu.net]
>>50
Smalltalk成分のほうが微塵も残ってない件

54 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 01:27:57.55 ID:aNh2v0Tb.net]
>>49
ネタ文章を説明なく貼るのよそうぜw

55 名前:デフォルトの名無しさん [2015/12/17(木) 01:44:31.81 ID:9iUNReL+.net]
>>52
メソッド名の長さは残ってるだろ

56 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 02:30:11.56 ID:FyqR5n97.net]
>>53
>>49は「不完全にしておよそ正しくないプログラミング言語小史」でググりゃ全文みつかると思うけど
プログラマーなら誰でもわかる微妙に間違った説明をしてクスリとさせるのが目的のプログラマージョーク…
…っぽいナニカ(の一部)なんだよな。

1983 – ビョーン・ストラウストラップが耳にしたことのあるあらゆるものをCに詰め込んでC++を作る。
出来上がった言語はあまりに複雑であったため、プログラムは未来に送って人工知能Skynetでコンパイルする必要があった。
莫大なビルド時間を要したのである。Skynetがそのようなサービスを行っている動機は明らかでないが、
未来のスポークスパーソンは、「そんなこと気にしなくていいぜ、ベイビー」と、オーストリア訛りのある単調な口調で答えている。
Skynetは体裁を装ったバッファオーバーランに過ぎないのではないかと予想する向きもある。

とか、どー反応すりゃいいのかわからんレベルの中から抜き出して>>49張られても、アンサイクロペディアを
ソースにしてコピペしてくる奴みてるみたいなもんで…

57 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 03:26:39.43 ID:ICf+3Sgs.net]
どの方法がいいか試作し研究する視点を与えてくれる(C++系の)オブジェクト指向は素晴らしい
スモールトーク系のオブジェクト指向はゴミ

58 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 07:11:27.89 ID:zm+NMMJN.net]
「C++の設計と進化」を知ろうとしない人にはC++はクソ機能満載言語にしか見えないし
www.amazon.co.jp/dp/4797328541

「Smalltalkの底を流れる設計思想」がわからんうちはSmalltalkもクソ引き籠もり環境にしか見えない
web.archive.org/web/20041016084842/http://marimpod.homeip.net/chomswiki/24#

59 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 08:11:57.67 ID:z5VUeQHx.net]
>>42
よく気がついたな
その通りだ

>>47
君は、>>42と違って、ちょっと程度が低いようだね

60 名前:デフォルトの名無しさん [2015/12/17(木) 12:01:03.95 ID:BgKGnUH4.net]
>>55
だいたいあってるじゃん



61 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 12:02:01.19 ID:xmtXrbaY.net]
>>58
ぼくちゃん、ようちでちゅね

62 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 14:14:39.01 ID:Gw5Yeqz+.net]
>>58
よかったでちゅね〜

63 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 14:54:32.35 ID:BhqjqAUv.net]
それで、具体的にどうやるのか書かないの?これ
反応が返らないって画面眺めてりゃわかんの?


11 名前:Objective-Cの人 [sage] :2015/12/16(水) 02:44:48.13 ID:hnVuOn0r
もひとつ、考え方が違うなーと思ったのはむかし分野違いのプログラマーと話してて

え?Objective-Cのインスタンスに定義されてないメッセージ(メソッド)が送られた時?
単純にインスタンスは"そんな命令は知りません"ってただ無視してふつうに動作続けるよ?

って言ったらそれじゃバグが見つからない!とか謎の発言をして固まってたこと。
いや、やれ!って命令して反応返らないんだからすぐわかるだろうそれ。

64 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 14:56:10.94 ID:BhqjqAUv.net]
もしかして、これ?

9 名前:Objective-Cの人 [sage] :2015/12/16(水) 02:34:00.21 ID:hnVuOn0r
動的静的もなんも、そもそもObjective-Cはインスタンスの管理に
参照カウント形式(呼んだらインスタンス内のカウンタに+1終わったら-1、0になったら誰も使ってないから解放するシステム)
を使用してるから、コンパイル時に「ここで呼んで、ここで解放して」と
ひととおりオブジェクトの生成消滅を追跡してエラー探してエラーメッセージ吐くから
定期的に言い出してる「動的だとエラーがわかんねぇだろ!」って謎の思い込み発言の意味がわからんし。

動的だと単に動的にインスタンスが他でなんとかしてる可能性があるから
コンパイル時の「ここで呼んでも居ねぇんじゃね?」が静的だと致命的エラーになるところが単に
「ここで呼んでも居ない可能性あるよね?」ってワーニングになるだけだし
ワーニング読んでプログラマーが自分で内容判断するだけだろ。

65 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 15:06:11.33 ID:Kcx2I8yF.net]
>>62
だから、>>11は間違ってるの。ランタイムが例外を投げます。
あとObj-Cは、受信側のインスタンスが無い場合(nil)は、何も起きない事が保証されてる。

66 名前:デフォルトの名無しさん [2015/12/17(木) 16:01:30.96 ID:jTZkH1z9.net]
それ便利なこともあるけど、JavaやCならセグフォで気づけるバグも気付けなかったりするよね
かといって毎回ifでチェックするか?っていう
やっぱりMaybeが至高

67 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 16:09:57.39 ID:uUwsUuhV.net]
>>64
あぁ、なんだ
やっぱ例外になるんか、分かったありがと

68 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 16:11:43.69 ID:s5+Nn1UK.net]
ポインターがnullptrのときとそれ以外のときってことのことを難しく言ってるだけだよな。

69 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 21:02:07.06 ID:TfrmoFMM.net]
>>63
> コンパイル時の「ここで呼んでも居ねぇんじゃね?」が静的だと致命的エラーになるところが単に
> 「ここで呼んでも居ない可能性あるよね?」ってワーニングになるだけだし
> ワーニング読んでプログラマーが自分で内容判断するだけだろ。

え? 静的にエラーになる(動的でもエラーになる)場所が
実機で稼働させたとき、ワーニングが出て
リリース後に、プログラマが飛んでいって修正するの?

なんで静的に見つけられなかったのさ?w

70 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 23:39:08.84 ID:LWfeKYVc.net]
動的だろうと、静的だろうと、エラーはエラーだろ



71 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 00:08:54.65 ID:OvzannQF.net]
開発中のコンパイル段階でエラーが見つかるのと
本番稼働中にエラーが見つかるのでは
影響の大きさが違いすぎるだろ?

72 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 00:13:02.71 ID:k38RLsj8.net]
>>70
ん?
コンパイルが通ったら本番稼働中にエラーは出ないのか?
ずいぶんお気楽な開発してるなぁ...

73 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 00:17:03.49 ID:OvzannQF.net]
>>71
誰もそんな事は言っていないので、
そう読めてしまうなら小学校から国語をやり直すことを勧める

74 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 00:38:27.47 ID:k38RLsj8.net]
>>72
> 開発中のコンパイル段階でエラーが見つかるのと
> 本番稼働中にエラーが見つかるのでは
> 影響の大きさが違いすぎるだろ?

どこに、コンパイル後の事が書いてるんだ?
そのまま、テストせずに本番稼働させているようにしか読めないのだが?

まさか、エスパーモードで、コンパイルの後はテストだろって事なのか?
テストするのは、動的言語でも静的言語でもやることだし、それ以前に、どこまで行っても、エラーはエラーだ

75 名前:デフォルトの名無しさん [2015/12/18(金) 01:00:19.51 ID:4xDk7IkO.net]
え?
ビルドしたら自動でテスト走るだろ?

76 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 01:15:10.90 ID:7Erpdy7Z.net]
>>70
そのとおりだな。

>>71
> コンパイルが通ったら本番稼働中にエラーは出ないのか?
今話しているのは、他のエラーのことじゃない。
型が違うことで発生するエラーの話。

>>74
> ビルドしたら自動でテスト走るだろ?
テストっていうのはプログラマが書くんだぞ。
小人さんが勝手にテストを書いてくれるわけじゃない。

そりゃ完璧なテストがあれば、バグは一つもでることはないだろうよw

動的言語は特に、実行時に型が判断されるので、
実行するまでバグがわからない。

77 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 01:24:34.58 ID:7Erpdy7Z.net]
>>73
> テストするのは、動的言語でも静的言語でもやることだし、

確かにテストするのは、動的言語でも静的言語でもやることだが、完璧なテストっていうのはない。
テストが足りずにバグが入り込んでしまうミスをしてしまうことは有るわけで
安全策は二重、三重とある方がいい。


そもそも、他の型を入れた時にエラーになるか?っていうテストなんて書いているか?
書いていないだろう? それはテストしてないってことだよ。
引数に想定以外の型が入ることがありえないテストも書いてるわけないな。
ソフトウェアの全部の部分を調べて、引数すべてが正しいことを調べる方法がない。

やってるのは、ある引数や変数に想定通りの型を入れた時に想定通りの動きをする。
というテストだけだろう? 不正な型がはいることがないことを保証するテストは書けないんだよ。

78 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 01:40:18.80 ID:VJfWDduP.net]
>>75
> テストっていうのはプログラマが書くんだぞ。
> 小人さんが勝手にテストを書いてくれるわけじゃない。

前時代的なやり方に囚われているお前が>>74におちょくられてるだけだよwww

79 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 01:42:15.57 ID:7Erpdy7Z.net]
>>77
? 何か反論を期待したのだが、
それで何が前時代的なのかの説明すらないのか?
少しは内容があることを言えよw

80 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 02:36:11.32 ID:7Erpdy7Z.net]
やっぱりだんまりかw

ついでだからもう一回重要な点を言っておくか。

変数に想定した型のみが入るようにすることはできる。
変数ごとに、この型以外が入ってきたらエラーにすればいいだけ。
それを動的型でやるのはナンセンスだよなw

で、もっと重要なのは、変数に想定した型以外を入れようとする行為(バグ)
例えば、関数の引数に(バグ)で不正な型を入れて呼び出すコード。
これを書いてしまうことをテストで検出することは出来ない。

ややこしいだろうから簡潔に言うと

・不正な型が入ってきたらエラーにする・・・可能
・不正な型を入れようとする・・・動的では検出不可能

動的型では入ってきた後にエラーにすることはできるが、入れようとすることを防ぐことは出来ない。
そしてこれをテストで検出することも出来ない。別の言い方をすると前者は単体テストの範疇だが、
後者は結合テストの範疇だからだ。結合テストの一部を型システムはテストできる。



81 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 02:51:26.86 ID:M9A20KwY.net]
全部が全部、引数の型が限定されてるわけでも無いしな。
汎用型を使うものもある。要はvoid*だ。

82 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 03:08:35.75 ID:Y0b/Op+d.net]
>>78
システムを修正するたびに手作業でテストしてんの?ビルド時に自動テストしろよwww

83 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 03:13:52.32 ID:7Erpdy7Z.net]
>>81
え? 誰が自動テストしてないって言ってるんだ?

ん〜?もしかして自動テストのテスト内容っていうのは
プログラマが書いているって言うことの意味がわかってないの?

そう考えると辻褄が合うからそうなんだろうな。

84 名前:uy ◆Qawu9.2l1E [2015/12/18(金) 04:10:27.24 ID:LS3OaJlp.net]
ジャップイライラw

85 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 05:19:05.90 ID:tbWYHKuT.net]
>>79
おまえは本当にバカだなあw
静的型だろうが動的型だろうが、テストは「入ってきた後に」検出するものだw

この業界から足洗ったほうがいいんじゃないの?周囲が迷惑してるよ?

86 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 05:20:50.65 ID:tbWYHKuT.net]
>>76
>そもそも、他の型を入れた時にエラーになるか?っていうテストなんて書いているか?

書かないバカはお前だけだw

87 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 05:28:11.93 ID:7Erpdy7Z.net]
> 静的型だろうが動的型だろうが、テストは「入ってきた後に」検出するものだw

だからいくらテストをやった所で、
入ってくる前のテストにはならんってことなんだが?

静的型だと、そもそも入らなくしてくれる。

88 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 05:29:44.45 ID:7Erpdy7Z.net]
>>85
> 書かないバカはお前だけだw

じゃあオープンソースのコードで、他の型を入れた時に
エラーになるかをテストしているものを簡単に探しだせそうだね。

証拠として見せてみてよ。
早くお願いねーw

89 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 05:49:57.26 ID:7Erpdy7Z.net]
またトンズラかなw

90 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 07:48:33.02 ID:i13cEfwD.net]
テストの自動化ってテストの「実行」だけのことなのか。つまんねえ話だな。



91 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 07:51:24.94 ID:HeX3slfp.net]
>>84
79の言いたいことは、静的な型ならコンパイルエラーになる、だよ。

92 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 08:09:44.92 ID:i13cEfwD.net]
コンパイルエラーは尊い

93 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 08:13:50.45 ID:k38RLsj8.net]
動的な型付けの利点は、型によらず全ての処理を等しく実行出来ること

94 名前:デフォルトの名無しさん [2015/12/18(金) 08:37:24.37 ID:jlCbbYEY.net]
>>92
すまん、テンプレートでよくね?

95 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 08:51:10.88 ID:5/sh8mBQ.net]
動的ならあたりまえにできることをテンプレートとか始めたんで
それは流れ逆じゃね?

96 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 08:51:52.19 ID:gk961EIG.net]
お前らってホントにお前らだな。

97 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 09:24:29.93 ID:P6kUmH+Q.net]
どっちでもいいよ。
なんか自分が糞なコードしか書けないのを言語のせいにしてるだけにしか思えんが。
糞コードが発生する理由は動的とか静的とかそんな理由ではないことにいい加減気づいて欲しい。

98 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 09:59:10.68 ID:SRTwlmwS.net]
静的型言語なら、最近はIDEが偉いから
型をミスっていたり、メソッド名をtypoしていたりしたら
コンパイルするまでもなく、打ち込んだ段階でIDEが教えてくれるよ

99 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 10:37:33.92 ID:i13cEfwD.net]
>>96
というより動的だと良コードを書いてもテストの負担が小さくならないと想像しているのでは?
それが正しいかどうかは知らん。

100 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 10:42:44.66 ID:Lwsmy/pl.net]
>>96
一人でやってんならそれでいいんでない
チームでやるなら言語選定は重要だろ








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<310KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef