トップページ⇒tech
1001コメント388KB

【激突】関数型言語 VS オブジェクト指向言語2

レス数が1000を超えています。これ以上書き込みはできません。
0001営利利用に関するLR審議中@詳細は自治スレへ2012/04/07(土) 21:26:47.61
一般的には、オブジェクト指向型言語が優勢でが
一部には関数型言語を崇拝している人もいます

どちらが上なのか、この際はっきりさせましょう

前スレ http://toro.2ch.net/test/read.cgi/tech/1331328955/
0986デフォルトの名無しさん2012/05/30(水) 18:01:04.68
Haskellで副作用が書けることだけは知ってるけど
各副作用に対して、スコープやアクセス権の管理はどこまで出来るん?
0987デフォルトの名無しさん2012/05/30(水) 18:14:13.49
>>986
逆に、管理出来ていない副作用ってなんなの?
0988デフォルトの名無しさん2012/05/30(水) 18:29:49.51
>>987
もしかして、その概念すら無いのか?
だとしたら「副作用を管理できる」とは言えなさそうだな
0989デフォルトの名無しさん2012/05/30(水) 19:06:22.93
コンピュータ上のほとんどのリソースが副作用を前提としているのだから、
手続き型がベースとなるのは当たり前なのです。
関数型は適用できるところだけで使ってくださいなオマケ機能。

Aというファイルを更新してファイル名Bで保存する。
たしかにAについてimmutableは守られたが、
Aの最新版がBであることを知っているのは、本人だけ。
周知徹底の為には全てをトップダウンで済ませる必要がある。
余計に面倒だから普通は上書きを使う。
0990デフォルトの名無しさん2012/05/30(水) 19:16:46.46
>>988
そうだね。管理したいと思わないものは管理できない。
986は、なぜ管理したいと思ったのかな?
0991デフォルトの名無しさん2012/05/30(水) 19:18:56.91
2chのような掲示板を考えてみよう。
複数人の人間が非同期に書き込む。
書き込み内容は、書き込み時間順に整理される。
掲示板は非同期吸収のためのバッファとして作用する。
こういった現象を表現するのに関数型は向いていない。
が、現実にはありふれている。
コンピュータには沢山のマイクロチップが載ってるし、
マルチプロセスだし、マルチスレッドだって使う。
おおよそ殆どのことは非同期で、
共通のバッファを持つことで同期処理をする。
バッファは当然immutableであってはならない。
0992デフォルトの名無しさん2012/05/30(水) 19:29:38.61
次スレ候補

【アンチ】関数型言語は使えない【玩具】 2
http://toro.2ch.net/test/read.cgi/tech/1330429547/l50

【スピード対決】関数型 VS オブジェクト指向
http://toro.2ch.net/test/read.cgi/tech/1334471667/l50
0993デフォルトの名無しさん2012/05/30(水) 19:50:50.33
>>985
> それをいうなら、手続き型でも副作用を無くすスタイルは取れる。

その主張は「動的型付け言語でも人間が気をつけてテストすれば
型安全なプログラムを書ける」と同程度の意味しかない。
0994デフォルトの名無しさん2012/05/30(水) 19:57:11.64
>>991
> マルチプロセスだし、マルチスレッドだって使う。
> おおよそ殆どのことは非同期で、
> 共通のバッファを持つことで同期処理をする。

immutableなデータは排他制御しなくても
複数のスレッドで共有できる。
そんなことも知らんのか。
0995デフォルトの名無しさん2012/05/30(水) 20:15:21.10
いやだからmutableなデータという前提の話だろ?
0996デフォルトの名無しさん2012/05/30(水) 20:22:43.61
それなら掲示板のようなappend-onlyで可能な例を出すなよ
0997デフォルトの名無しさん2012/05/30(水) 20:42:35.05
どちらにしてもmutexはmutable。
0998デフォルトの名無しさん2012/05/30(水) 21:59:19.64
副作用の有無を型で表現できる言語 vs 副作用の無いことを型で表現出来ない言語

最初から勝負になってない
0999デフォルトの名無しさん2012/05/30(水) 22:30:10.79
Haskellの欠点

IOモナドで挫折するレベルの低能が使っても
副作用を書く事すら出来ない
1000デフォルトの名無しさん2012/05/30(水) 22:37:08.75
関数型言語を覚えられない頭の可哀想なPGだけが
手続き型オブジェクト指向言語を使う、でFA
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。