[表示 : 全て 最新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/

357 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 23:15:04.42 ID:3zlmhSVS.net]
テストのコストとかビジネスライクなこと言うなよな

358 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 23:24:35.18 ID:JMy37Egb.net]
このリストがマストだ

359 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 23:46:56.43 ID:akw4ximt.net]
エビデンスを示したまえ

360 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 00:05:30.65 ID:K9YQZ40/.net]
319 みたいな馬鹿のいるプロジェクトは大変だろうな。。
ことあるごとに 100% じゃねーからとか言い訳してテストしなさそうだ。

361 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 00:20:21.16 ID:wKrNpYiO.net]
>>342
> 逆。原理的に静的型言語は動的言語の「一部」しかできない。
> ばか?

話の流れがわかってないw

原理的に動的言語は静的型言語でわかることの「一部」しか「静的に」判断できないできない。

静的型言語はなんでもできる動的言語の危険性を抑えるために
実行時にできることが制限されている。それが安全性につながる。

362 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 00:21:30.20 ID:wKrNpYiO.net]
>>343
> 動的型言語は型検査などなくても型安全を確保できているんだよ。

じゃあ、TypeAしか入れられない型にTypeBを入れて
それでどうやって静的に(実行せずに)型安全性を確保しているか教えて。

実行して落ちるのは型安全じゃないからねw

363 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 00:23:07.92 ID:wKrNpYiO.net]
>>345
> 型が重要な箇所があるなら、その部分で型チェックすればいいじゃない

それだと、どんな型を渡しても正しく扱えることはまず無いから、
殆どの部分で型チェックが必要になるぞw

特定の型固有のメソッドを呼んだ時点で、落ちてしまう。

364 名前:デフォルトの名無しさん [2015/12/21(月) 00:48 ]
[ここ壊れてます]

365 名前::12.97 ID:wV5Rx1o6.net mailto: >>337
そのヌルポに大した危険はなくても偉い人がヌルポだと騒ぎ出すから、結局なんかしなきゃいけない。
[]
[ここ壊れてます]



366 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 00:59:07.29 ID:qoXEI4gu.net]
静的型のチェックの「完全さ」が本当なら、このコンパイルが通る理由が分からん

import java.util.*;

class Hoge {
 public static void main (String[] args) {
  Collection<Number> nums = new ArrayList<Number>();
  nums.add(new Integer(1));
  nums.add(new Long(1));
  Integer[] ints = nums.toArray(new Integer[nums.size()]);
  for (Integer integer : ints) {
   System.out.println(integer);
  }
 }
}

367 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 01:48:05.01 ID:B3EXamn3.net]
正直に白状するが、Javaは静的型付け言語としては貧弱で、たぶんSmallTalkerから見たらOOPの機能も貧弱。
nullはあるわisInstanceOfはあるわ後方互換性のせいで汚いメソッドがあるわで、潔癖な人にはおすすめできん。
現在に至るまでの資産が無ければ触りたくもならんです。

自分はML系の型システムでようやく静的型付けの有り難みが分かるようになった。

368 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 02:47:46.56 ID:wKrNpYiO.net]
>>360
IntegerとLongは共にNumberを継承しているから

369 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 04:14:30.72 ID:7dJZ8TPE.net]
>>357
本物のバカ?
まともな動的型言語なら、そもそもTypeAしかいれられない型なんて存在しないから。
メソッドが見つからなければ言語仕様通りに「正しく」例外を投げる。
例外ハンドラが設定されていなければ終了する。
静的型言語で例外を投げた時にハンドラがなければ終了するのと同じだ。
言語仕様通りに動作しているのだから、型安全は確保できている。

もし「実行したらメソッドが見つからないだけで落ちた」のは型安全じゃないというのなら、
https://ja.wikipedia.org/wiki/%E5%9E%8B%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0#.E5.AE.89.E5.85.A8.E6.80.A7
でも読んでろバカ。

わかりまちたか、おばかちゃん?
静的厨はほんと型システムに関する知識が薄いね。だからバカなんじゃないかなあ。

370 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 04:52:19.75 ID:wKrNpYiO.net]
> メソッドが見つからなければ言語仕様通りに「正しく」例外を投げる。

言語仕様通りに「正しく」例外を投げる。
だけど、これはアプリの仕様からしたらバグだ。

話の前提わかってる?
言語を作る側の話じゃなくて
言語を使ってアプリを作る側の話をしてる。

371 名前:uy ◆Qawu9.2l1E [2015/12/21(月) 05:10:51.36 ID:ouS7hqFY.net]
イライラジャップw

372 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 05:36:24.60 ID:7dJZ8TPE.net]
>>364
例外を捕捉しないのはアプリのバグであって言語のバグじゃないよw
自分のバカさを動的型のせいにするなってww
話の前提どうこう以前に、まずは自分のバカさを自覚しろw

373 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 05:39:43.68 ID:wKrNpYiO.net]
>>366
あんたは動的言語では例外が出るといった。
実行されるまでわからないということだ。

静的言語だと静的にメソッドが無いことを調べられる。
だからアプリのバグを減らすことができる。
少なくとも実行しなくてもわかるから、
早くバグを修正できる。アプリ開発のコストが下がる。

374 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 05:45:26.20 ID:YADl95dr.net]
なんだかすげえなw

375 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 06:16:48.64 ID:7dJZ8TPE.net]
>>367
そうでちゅね、静的型言語ではアプリをテストせずに開発できちゃうんでちゅね、すごいでちゅねwww


バカ丸出しw



376 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 06:19:38.14 ID:7dJZ8TPE.net]
こういうバカな静的厨に限って、
普通にレコード定義すればいいところでMap型を使って
アプリがキーエラーで落ちるw

377 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 06:39:28.24 ID:G65zLFaz.net]
>>362
すげーな。
コンパイルが通るってことは、このコード、ランタイムエラー吐かずに正しく動くんだな?

378 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 06:50:22.82 ID:7dJZ8TPE.net]
>>367
>少なくとも実行しなくてもわかるから、
>早くバグを修正できる。アプリ開発のコストが下がる。

HM型検査を実行するのと、ほんの数個の単体テストを実行するのと、
どちらが早くバグを修正できるでしょうかね?

ばーかw

379 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 07:01:32.16 ID:wKrNpYiO.net]
静的言語のテストは、単体テスト+静的解析からなる。
単体テストだけの動的よりも信頼性が高い。

380 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 07:02:38.27 ID:wKrNpYiO.net]
単体テストは完璧ではない。全てをテストするわけではない。
単体テストでテストできなかった部分も静的解析でテストできる。
鬼に金棒

381 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 07:03:44.31 ID:wKrNpYiO.net]
>>371
すげーな。単体テストさえあれば、バグは一個もない。
他にテストは要らないと思ってるのかw

382 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 07:18:53.80 ID:7dJZ8TPE.net]
バカだなあ…
メソッドがあるかないかぐらい単体テストでC0カバレッジで十分わかることじゃないかw
本物のバカだなw

383 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 07:19:42.76 ID:7dJZ8TPE.net]
ねえ、静的厨ってみんなこんなバカなの?

384 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 07:22:03.68 ID:wKrNpYiO.net]
> メソッドがあるかないかぐらい単体テストでC0カバレッジで十分わかることじゃないかw
カバレッジ100なのかい?

d.hatena.ne.jp/ku-ma-me/20110526/p1

> ■ コードカバレッジ 100 % の難しさ
> マイクロソフトの面接試験とかいう噂の問題。のバリエーション。
>
> 水槽に 100 匹の魚がいます。98 % はグッピーです。
> では水槽にいる魚の 99 % をグッピーにするには、何匹のグッピーを水槽に足せばいいでしょう?
> 知らない人は一瞬だけ考えてみてください。
>
>
>
>
>
> 答えは「100 匹」です。直感より多いですよね?
>
> これは、コードカバレッジ 100 % の難しさに似ています。グッピーがテストされた行で、
> パーセントがその割合 (カバレッジ) だと考えてください。カバレッジが 98 % のプロジェクトがあれば、99 % にするにはおよそ倍の労力が必要なわけです。
>
> 自分でテストを書かない人は、したり顔で「C0 カバレッジは 100 % で当然 (キリッ)」などと
> 言うのですが、世の中そんなに甘くないんですよね。

385 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 07:24:23.17 ID:wKrNpYiO.net]
C0カバレッジを100%にしてもバグは0にはならない。

これぐらい常識だろう?



386 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 07:41:17.41 ID:wZBXbgJl.net]
バグがゼロになるっていう話だっけ…

387 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 08:30:07.58 ID:dc09zofZ.net]
値エラー以外でテストするのはめんどくさいな。
メソッドがあるかないかで動的に条件分岐するところのテストなんてやりたくない。

388 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 08:36:09.75 ID:dc09zofZ.net]
型エラーの「可能性」まで事前に検知したいのか、
型エラーの「発生」をその時に検知できればいい、
というスタンスの違いってことか。なら理解できる。

389 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 09:01:27.79 ID:7dJZ8TPE.net]
>>379
メソッドがみつからない問題はC0カバレッジ100%で解決できるよ。
実際にはメソッドを叩いてる箇所のみが問題だから、厳密にはC0カバレッジ100%いかなくても網羅できるよ。

そんなことも知らずにテスト手法を叩いてたの?ばか?

390 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 09:03:29.84 ID:7dJZ8TPE.net]
>>382
正確には、コンパイラによる静的型検査では「事前に」検知できないよ。
型検査という一種の証明手続きの「実行」によってしか検知できない。
にもかかわらずバカな静的型厨は「実行前」「実行前」とバカのように連呼する。
バカだから仕方ないけど、バカ丸出し。

391 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 09:08:42.38 ID:G+qBG4+k.net]
 
ゴキブリ韓国(ゴキ韓) 日本は国交断絶せよ

   民主主義は無理  世界一民度低い国

        goo.gl/cchGqh

 

392 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 09:10:23.98 ID:dc09zofZ.net]
>>384
>型検査という一種の証明手続きの「実行」

それは一般的に言うところの「コンパイル」もしくは「リンク」に相当するもの?

393 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 09:22:48.80 ID:+DYxsHCL.net]
動的型付けでオブジェクトを作ったら使用者がそのオブジェクトのクラスを覚えていたら手動の静的型付けなんだよね。だから忘れなければいけない。
次にそのオブジェクトを使おうとするとき、それが何か忘れてるから、そのオブジェクトがどういうメソッドを持っているかなどの
チェックをするから絶対間違えることはない。すなわち動的型付けが悪いという批判の全ては実は
手動静的型付けという名の静的型付けが悪いということだったんだね。

394 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 09:26:23.10 ID:K9YQZ40/.net]
>単体テストは完璧ではない。全てをテストするわけではない。
>単体テストでテストできなかった部分も静的解析でテストできる。
>鬼に金棒

正しいこと言ってるけれど、こいつは絶対テスト書いてないと思わせるところが凄いw

395 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 10:04:08.74 ID:XjOZdx5G.net]
動的言語でもテストすれば問題はないだろうけど、入力するときにメソッド名を確実に補完してくれたほうが書くときもテスト作る時も快適
その程度の違い
javascriptでブラウザのコンソールで補完使いながら書いてると実感する

あんまり触れられてないけど、スクリプトと比べて静的に型を解決してコンパイルする言語のほうが速度面で圧倒有利というのもでかいと思う



396 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 10:29:34.55 ID:7dJZ8TPE.net]
>>387
ポエムはお花畑板でどうぞ。

397 名前:uy ◆Qawu9.2l1E [2015/12/21(月) 10:36:36.12 ID:vg4j58Ti.net]
ジャアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

398 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 10:42:30.54 ID:atu8DMrc.net]
>>375
静的型付けでコンパイル通っても「型に関する」バグも有り得るって言われてるの分かってる?
馬鹿だから分かってないんだろうなぁ

399 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 10:51:13.05 ID:x6st9rMu.net]
動的でも問題ないって言っている人たちは
最近の動的型言語がどんどん静的型の型チェックの機能を取り入れているのは
どう考えているんだろうね
メリットがないなら導入する意味ないよね
でもどんどん導入されていっているよね
あのRubyですら3.0で静的型を導入したいと言っているよね
この事実をどうするの?

400 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 10:52:41.41 ID:+DYxsHCL.net]
ruby3以外に例を挙げてみろよ

401 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 11:05:22.17 ID:x6st9rMu.net]
qiita.com/t2y/items/f11032f98d57bc7fc5da
動的型言語の型システムしょぼー

>Python 3 の型アノテーション構文の組み合わせが Python における型付けの標準になると宣言されました。
>正直なところ、多くの理由でこれはまったく良い決断ではないと私は考えています。
>その最大の理由は Python は優れた型システムをまさに持っていないことに苦しんでいるからです。
>静的型付けが意味をなすには、型システムが良いものである必要があります。

こういったショボい使いものにならない静的型システムは
なまじ有るだけ使わないと行儀が悪いような気がするが
使いまくるとジェネリックも何もないので汎用性が落ちてCレベルのコーディングになって苦しい
使えば使うほどそういう矛盾が浮き彫りになって、もやもやしてくるだろう
この型システムしょべーって
なまじ有るから使わないと行儀が悪いような気がするってのもポイントだな
プログラムを書いてる本人が気持ち悪くなってきて、動的型言語宗教から改心する
きっかけになるのであれば、中途半端な静的型を導入することにも意味があるっちゃ意味がある

402 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 11:08:23.42 ID:x6st9rMu.net]
>>394
hrnabi.com/2015/05/12/7035/
>一方、最近出てきた言語であるScalaやDart、Goといったプログラミング言語は静的型付け言語に分類される。
>そして、Rubyとは色々な面で似た言語と言えるPythonでアノテーションを付ける文法の導入が検討されているなど、
>動的言語でも静的型付けの良さを取り入れる動きがあるという。

gihyo.jp/news/report/01/rubykaigi2014/0002
>一方で,ScalaやTypeScript,Dartなど最近生まれた言語はスクリプト言語のような
>使い方をされながらも静的な型を持っています。
>このことについて,まつもとさんは「悔しいからRubyに静的な型を導入してみようか」

ほらよ

403 名前:デフォルトの名無しさん [2015/12/21(月) 11:09:20.16 ID:wV5Rx1o6.net]
>>392
ないよ。マヌケ。
なぜなら、コンパイラによりタイプセーフを保証されているから。
まず、例を出せよ??

静的でもリフレクションとか動的機能使えるからそれ使った時だよね。
でもそれは、動的のバグだよね。

404 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 11:10:39.25 ID:+DYxsHCL.net]
インターネットの日本語の記事ばっか観てると馬鹿になるよ。英語の記事の誤植とか意訳ばかりだからな。最近日本語読んだのはこのスレくらいかな。

405 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 11:10:46.95 ID:atu8DMrc.net]
>>395
pythonの型は動的型の中では出来損ないの部類だが、そいつにはジェネリックくらいある
無知が批判するとポイントがボヤけるからやめれ

https://docs.python.org/3/library/typing.html



406 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 11:11:54.59 ID:atu8DMrc.net]
>>397
>>360

407 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 11:14:11.40 ID:x6st9rMu.net]
新しく言語を作るとき、静的型システムをどういう風に発展させていくかというのが一つの大きな見どころであり
一番手間のかかる部分だ
今は最低でも型推論とジェネリックが当たり前で、これからもっと発展していくかもしれない
タイプセーフでありながら柔軟性も持たせ、記述量も減らす方向へね
安全性と柔軟性を両立させるという、ある種矛盾しているかのような命題へのチャレンジだ

動的型言語はそれを放棄してしまっているのだから、全く面白みがないね

408 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 11:27:11.60 ID:+DYxsHCL.net]
日本語が不自由なようで

409 名前:デフォルトの名無しさん [2015/12/21(月) 11:27:25.95 ID:wV5Rx1o6.net]
>>400
ごめんjavaはクソだから使ってねーんだわ。
やめてくれよ、そんな欠陥言語持ち出してくるの。
c#以外の言語は静的と呼ぶほど完成度高くねーんだわ。

410 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 11:30:16.62 ID:dc09zofZ.net]
動的言語使うなら受け取る側で型チェックはしないなー。
型による分岐はそれが直接目的に適うならばあり。

411 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 11:32:36.19 ID:dc09zofZ.net]
静的言語ならC++でいいじゃんか

412 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 14:09:45.86 ID:7dJZ8TPE.net]
>>396
>>一方で,ScalaやTypeScript,Dartなど最近生まれた言語はスクリプト言語のような
>>使い方をされながらも

Scalaをスクリプト言語に分類するような記事を信じるバカですか?

413 名前:uy ◆Qawu9.2l1E [2015/12/21(月) 14:29:58.27 ID:2nRQSJGH.net]
Matzが静的型の導入を〜
って、あれ10年くらい前から言ってる事が二転三転してる戯言だからスルーしたほうが良いよ

浅い信者はMatzの寝言と本音が見極められないようで

414 名前:uy ◆Qawu9.2l1E [2015/12/21(月) 14:41:43.33 ID:E4VHpoC/.net]
実際この手の問題は多数決のようなもので未来が確定してしまう類のものでは?
動的言語が勝つなら、世界が「動的言語で作られたもので満足」するように作り替えられていく

例えば電子機器のすべてを
プログラムにバグがあろうと後から無線で修正可能なようにすればいいんだよ


動的言語は静的言語以上にバグが入ることは確実だ
しかし「バグっても問題にならない状況作り」が出来るのであればそれで良い

415 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 16:46:29.69 ID:FpThLLao.net]
>>403
> javaはクソだから

具体的に



416 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 16:56:57.21 ID:+DYxsHCL.net]
基本的に企業が作り出した言語はJavascriptを除いてすべて糞。

417 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 17:20:52.96 ID:XjOZdx5G.net]
javaは実行環境というか、バイトコードに手を加えずにジェネリックを実装したせいで、パフォーマンスやら型安全を失ってる
静的型言語とかではなく、互換性重視から生まれた言語の欠陥

418 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 17:33:12.08 ID:atu8DMrc.net]
>>403
一緒や!c#も!

ideone.com/yFcW0Y

419 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 17:40:24.04 ID:qIaAVv7y.net]
しかしホントーに"静的言語なら〜"って言ってる奴って
『プログラムは自分の身内で組んだもので完結する』前提なのな。
おれらの決めた内々の決まりを組む奴が徹底すれば問題は生じないはず!(キリッ)って…
オブジェクト指向はsmalltalkのむかしから
多くのコンピュータプログラムが相互の通信する未来ではそんなことはできないと看破して
オブジェクトが自分の属性を答える機能とかを基底クラスに組み込んでるってのに
偽オブジェクト指向たちは最初から間違ったところより始めてるせいで
いつまで経っても偽のオブジェクト指向から抜け出せない。

420 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 18:43:03.63 ID:mofV3EhK.net]
> しかしホントーに"静的言語なら〜"って言ってる奴って
> 『プログラムは自分の身内で組んだもので完結する』前提なのな。

そんな前提に立てるものを教えてほしいぐらいなんだが(笑)

他人が使るものを使うからこそ、決められたインターフェースを守り
それらを動的に書き換えないようにするんだよ。
勝手にクラスとか書き換えたら動作保証ないからな。
バージョンアップしたらすぐに動かなくなる。

自分で作る部分は動的に変えなくても、ソースコード変えればいいわけだから
動的である必要はない。

421 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 19:24:39.60 ID:qIaAVv7y.net]
>自分で作る部分は動的に変えなくても、ソースコード変えればいいわけだから
メンテ地獄は楽しいか。
つべがflvやめてhtml5にしたり通信先が小変更する度に
システムフル再コンパイルしてそうだなおまえら。

422 名前:デフォルトの名無しさん [2015/12/21(月) 19:25:06.67 ID:dWRO7mc6.net]
しかしなんでこのスレってこんなにsmalltalkerいるんだ
本スレすら過疎ってるオワコン言語やぞ

423 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 19:45:02.82 ID:dc09zofZ.net]
なんでこんなことにこだわっているんだ?

424 名前:デフォルトの名無しさん [2015/12/21(月) 19:51:20.56 ID:wV5Rx1o6.net]
>>412
あー共編性、反変性使わない人かー。

例えば、家の玄関に土足で上がらないでくださいって注意書きしないのはなぜだと思う?
そんなことする馬鹿な人に会ったことないからだよ。

425 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 19:55:46.35 ID:B3EXamn3.net]
OCamlをやるんだ。
JavaやC#じゃ法螺扱いされる「コンパイルが通ればランタイムで型に関するエラーは起きない」世界が待ってるぞ。



426 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 20:28:52.54 ID:7dJZ8TPE.net]
動的型付言語でも「ランタイムで型に関するエラーは起きない」世界が実現されているが?
というとメソッドが見つからないとか言う厨房がいるが、
それは静的型付言語で空リストの先頭要素を取り出そうとして例外が発生するのと
どう違うのだ?
ゼロ除算して例外が発生するのとどう違うのだ?

結局、静的型言語ユーザがいう「ランタイムで型に関するエラーは起きない」というのはマッチポンプでしかない。

427 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 20:41:15.90 ID:mofV3EhK.net]
>>415
> つべがflvやめてhtml5にしたり通信先が小変更する度に
> システムフル再コンパイルしてそうだなおまえら。

分割コンパイルって知ってる?
依存関係を小さく保つから、影響があるところも局所化され
実際にはシステムフル再コンパイルではなく、依存しているところのみ
再コンパイルが必要になるだけ。

そういったことも知らずに叩くんだよなぁ(笑)

428 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 20:42:13.79 ID:etCoLxJ5.net]
そもそも"型"ってなにかね?
なんか静的おじさんはintとかstrとかそういうプログラム言語規約上の取り決めぐらいしか想像できてないみたいだけれども
実際はデータ構造そのもの、構造体やクラスが受け渡されてくるのだからその種類の数だけ型がある。
pictureというクラスの型はBMPだから!と決め打ちして、jpgが追加されたら俺にもjpgの展開エンジン教えろ
pngが追加されたら俺にもpngの展開エンジン教えろと言って毎回自分のプログラムを再コンパイルして備えるつもりか。
そうしないと自分が食えなくてバグ吐いて止まるから。

そういうくだらない車輪の再発明を防ぐためにオブジェクト指向は生まれてpictureオブジェクトに
展開エンジンが含まれてるから、受け手は考えなくていい。そして、すべての型はオブジェクトだから
"世界のすべてオブジェクトの名前と内容を予め知るのは不可能"なので動的に処理するしかない。
動的に処理することで作ったものをいちいち毎度メンテして弄り回すプログラマーのメンテ無限地獄を回避してるっつーのに
「おれらのやり方はあらかじめ世界のすべてを知ってからその決まりでやってるから問題は生じない!」とかバカか。
なんでネットワーク関連で動的が主流で、ちんまりした閉システムでしか静的が流行らないのかちゃんと理解しろ、ジジイ。

429 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 20:46:53.08 ID:mofV3EhK.net]
>>420
> それは静的型付言語で空リストの先頭要素を取り出そうとして例外が発生するのと
> どう違うのだ?

図にすればわかる? わかりやすく簡略化して書くけど

    | 型の問題 | 空リストの問題 | ゼロ除算の問題 |
静的 |  なし   |  あり     | あり        |
動的 | あり    |  あり      | あり        |

問題が多いのはどっち? 答え 動的

重要なのは、問題がどれだけ "多いか" だからさ。

静的・動的、両方に発生する問題を持ってきても、
動的だけにある問題がある以上、動的のほうが問題が多いわけで

430 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 20:49:47.79 ID:mofV3EhK.net]
>>422
> そもそも"型"ってなにかね?

インターフェースの取り決めだね。

巨大なシステムは複雑にならざるをえない。
だから、公開している部分と、公開してない部分をしっかりわけ、
公開している部分は仕様をきっちり明確にする。

その仕様がインターフェースであり型なんだ。

LinuxもWindowsも仮想マシンもコンテナも
大きなシステムは静的言語を使って作られている。

431 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 20:52:58.26 ID:mofV3EhK.net]
>>422
> 毎回自分のプログラムを再コンパイルして備えるつもりか。

だから毎回全部を再コンパイルしてないってばw

Linuxの動的ライブラリの仕組みとかドライバの読み込みとか
Apacheのモジュールの仕組みとかしらないの?w

インターフェース(≒型)をきっちり決め、そのインターフェースに合わせることで
再コンパイルすること無く組み込み可能にしている。

こういったことを知らないんだもんなぁ(笑)

432 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:01:51.63 ID:7dJZ8TPE.net]
>>423
だーかーらー、動的型付言語に型の問題なんてないんだって。
コンパイル時型検査なんてしなくても型安全を確保できているから。
型エラーではないものを勝手に静的型では型エラーとして扱われるからといって
勝手に「型の問題」扱いしないでもらえるかなあ?

433 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:04:46.50 ID:mofV3EhK.net]
>>426
静的型は型エラーであるもの、つまりアプリのバグ。
そのアプリのバグを静的型は実行すること無く検出できる。

それに対して動的型では、アプリのバグが見つからない。
アプリのバグが見つからないが型安全なんだから、
いいじゃないか。って言ってるわけだよね?

型安全=アプリのバグがない
ということではないよ?知ってる?

434 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:05:35.35 ID:7dJZ8TPE.net]
>>425
そうだね、静的型情報をリンカに渡せば静的型でも必ずしも全てを再コンパイルする必要はない。
そもそも動的型ならば全く再コンパイルする必要ないんだがなw

そうやって動的型ならそもそも問題が存在すらしていないものを
静的型では問題になるからといって「静的型では解決できたスゲー」しないでくれる?

435 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:07:13.91 ID:mofV3EhK.net]
> そうだね、静的型情報をリンカに渡せば静的型でも必ずしも全てを再コンパイルする必要はない。
> そもそも動的型ならば全く再コンパイルする必要ないんだがなw

全く再コンパイルする必要ない!?それは大変だ。

インターフェースに不整合があったとしても、
その不整合を検出できないじゃないかw



436 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:07:55.23 ID:7dJZ8TPE.net]
>>427
で、「動的型ではアプリのバグを見つけることができない」という珍説はどこから湧いて出てきたのかね?

静的型付言語と同じ方法で見つけるわけではないというだけの話を、
どうして「見つけることができない」なんて捏造をするんだね?

437 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:08:48.82 ID:7dJZ8TPE.net]
>>429
静的型付と違って、インターフェースが必ず適合するから問題ないんだよ。ぷ

438 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:09:52.92 ID:mofV3EhK.net]
> そうやって動的型ならそもそも問題が存在すらしていないものを

意味不明。

インターフェース不整合があってエラーで例外を吐いてシステムが
正常に動かなくても型安全だから問題がない。

そう言ってるわけだよね?
そう、ユーザーにさんに言ってるわけだよね?

Q. ある機能を実行すると、エラーで例外を吐いて落ちます。機能が使えません。
A. 型安全なので不具合ではありません。言語仕様通りです。なので修正しません。


うははははw

439 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:12:34.78 ID:GVmX1WAG.net]
列車とトラックの比較にしか思えない

440 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:12:49.27 ID:7dJZ8TPE.net]
>>432
だーかーらー、
動的型付言語の世界ではインターフェイスに不整合が発生しないの。
引数がいくつあっても、引数の中身がなんであっても、機能名が何であっても、
必ず同じ形式でメッセージとしてパッケージングされるの。

静的型システムについては多少知っているようだけど、
動的型付言語の仕組みはまるでわかっていないようだね。

441 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:13:39.02 ID:7dJZ8TPE.net]
例のおバカさんよりは若干マシだと思っていたが、買いかぶりすぎていたようだ。

442 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:15:10.99 ID:mofV3EhK.net]
>434
> 引数がいくつあっても、引数の中身がなんであっても、機能名が何であっても、
> 必ず同じ形式でメッセージとしてパッケージングされるの。

その後は? 重要なのはパッケージングされた後でしょう?

例外吐いて落ちるんでしたねw

うははははw

443 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:15:36.10 ID:7dJZ8TPE.net]
静的型付言語を使っていると、動的型付言語を静的型付言語のメカニズムでしか理解できなくなってしまうらしい。
まさにバカ製造機だな。

444 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:16:30.67 ID:mofV3EhK.net]
Q. ある機能を実行すると、エラーで例外を吐いて落ちます。機能が使えません。
A. 型安全なので不具合ではありません。言語仕様通りです。なので修正しません。


これを否定しないのは、否定出来ないからだろうなw

445 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:16:44.57 ID:B3EXamn3.net]
まずどの動的型付け言語について喋っているのか言及しなよ。

実行時で型に関するエラーが起きないってのは、起きないよう注意を払ってプログラムを書くことができる、じゃなくて、
原理的に起こせない、っていう意味で言ったんだけど、分かる?

やたらと例外とエラーを別物にしたいみたいだけど、そんなはっきり区別して扱っている界隈ってあるの?
全然メジャーな使い分けじゃないからちょっと説明してよ。

「例外を投げる動作は言語仕様通りだから、wikipediaでいうところの型安全」っていうは、
関数型言語に言及している中での型安全より遥かに低いレベルの安全性であることは分かってる?

全体的に卑怯者だよ。「ボク間違った言葉遣いしてないもん!」以外全部間違っているよ。



446 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:17:03.21 ID:7dJZ8TPE.net]
>>436
落ちないけど?
どうして例外が投げられると落ちると思い込んだの?
たとえ例外ハンドラが設定されていなくてもアプリケーションが異常終了しない言語/環境は普通に存在するよ?

自分の無知を動的型付のせいにしないでくれる?

447 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:17:58.88 ID:7dJZ8TPE.net]
>>438
ぜーんぶ君の無知からくる妄想。正直言って、出てくる感想は「バカ」。

448 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:18:59.25 ID:mofV3EhK.net]
>>440
なるほど!

じゃあ訂正するよ

Q. ある機能を実行すると、エラーで例外を吐いて(落ちます⇒訂正) 落ちずに画面にエラーが出て、機能が使えません。
A. 型安全なので不具合ではありません。言語仕様通りです。なので修正しません。


うあははははwww

449 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:20:42.70 ID:mofV3EhK.net]
な? インターフェースに不整合があってエラーで動かなくても
落ちなければ、不具合ではないっていう考え方なわけさ。

動的のアプリの質が悪い理由がわかるだろう。
こんな感じでいっつもいきあたりばったり
無計画に修正してるんだよ。

450 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:21:32.67 ID:7dJZ8TPE.net]
>>439
>実行時で型に関するエラーが起きないってのは、起きないよう注意を払ってプログラムを書くことができる、じゃなくて、
>原理的に起こせない、っていう意味で言ったんだけど、分かる?

実行時型エラーという概念が存在しない言語(動的型付言語)では、原理的に実行時型エラーなんて起こせませんが、何か?

451 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:23:57.49 ID:7dJZ8TPE.net]
>>442
>Q. ある機能を実行すると、エラーで例外を吐いて(落ちます⇒訂正) 落ちずに画面にエラーが出て、機能が使えません。
>A. 型安全なので不具合ではありません。言語仕様通りです。なので修正しません。

はい、これも間違い。
メソッドが見つからなくても例外を抑制することもできるし、デフォルト動作を変更することもできる。
当然、「画面にエラーを出す」必要もない。
実行を継続して、機能を利用することができます。

残念でしたw

452 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:24:24.57 ID:7dJZ8TPE.net]
>>443
というわけで、やっぱり君は自分の無知を動的型付言語のせいにしているだけでした。

453 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:25:33.03 ID:7dJZ8TPE.net]
>>443
というわけで、静的型付言語の世界観で勝手に動的型付言語を誤解して、
間違いだらけの妄想を振りまいているのは君でした。

お・ば・か・さ・ん

454 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:27:09.59 ID:mofV3EhK.net]
>>445
じゃあこういうことか

Q. ある機能を実行すると、エラーで

455 名前:瘧Oを吐いて(落ちます⇒訂正) 落ちずに画面にエラーが出て、機能が使えません。
A. バージョンアップして修正しました。

画面にエラーを出さないようにエラーを握りつぶしました。
該当の機能は正しく動きませんが、
他の機能が動いているんだからいいじゃないか?


うははははwwww
[]
[ここ壊れてます]



456 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:27:32.36 ID:7dJZ8TPE.net]
静的型付と動的型付はそれぞれ別のアプローチを取っているだけなのに、
静的型付しか知らないばっかりに動的型付を否定しなければ静的型付のメリットを説明できない。
これって静的型付言語ユーザとしても恥ずかしいことだと思うよ。

457 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:28:05.77 ID:7dJZ8TPE.net]
>>448
もちろん、それも大間違い。自分の無知をさらすのって、そんなに楽しいの?






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

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

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