【激突】関数型言語 VS オブジェクト指向言語2
レス数が1000を超えています。これ以上書き込みはできません。
0001営利利用に関するLR審議中@詳細は自治スレへ
2012/04/07(土) 21:26:47.61一部には関数型言語を崇拝している人もいます
どちらが上なのか、この際はっきりさせましょう
前スレ http://toro.2ch.net/test/read.cgi/tech/1331328955/
0976デフォルトの名無しさん
2012/05/30(水) 08:47:28.20その理由付けはグローバル変数擁護と同じ。
純粋関数型言語以外は、あらゆる関数(たとえば三角関数とかの数学関数)に、
不必要な(有害かもしれない)副作用を起こす余地を与えてしまっている。
0977デフォルトの名無しさん
2012/05/30(水) 08:57:57.39純粋関数型はその発想自体はいいと思うが
ちょっと方向性がおかしい気がするんだよなあ
まあ、そもそもの目的が実用よりも研究なんで仕方ないが
0978デフォルトの名無しさん
2012/05/30(水) 09:29:01.88Haskellを作ろう、という話になったわけで、25年くらい認識が遅れてますね。
0979デフォルトの名無しさん
2012/05/30(水) 10:43:31.88副作用を封じ込めたと言っても、コードのほとんどが、その副作用処理なんだから。Haskellerも泣くだろう。
0980デフォルトの名無しさん
2012/05/30(水) 14:53:25.54メモリ16GとかHDD2TBとかだよ。
メモリもHDDも一度書き込んだものは変更不可という、CD-Rのような
動作ではないから、制御するなら副作用が自然だよ。
更新するときは新たに別領域を確保してってのもあるけど、
別領域じゃ意味の無い場合も多いよな。
だったら、副作用はどうしても必要と考えて、
無くすのではなく、有ることを前提として織り込んで、
上手く付き合うことを念頭に設計されている、
手続き型言語のほうが現実的だよね。
0981デフォルトの名無しさん
2012/05/30(水) 14:56:39.43DBのトランザクションの方が全うに見える。
関数型言語は単に副作用を無くしただけ。
臭いものに蓋しただけ。
0982デフォルトの名無しさん
2012/05/30(水) 17:02:57.95> 不必要な(有害かもしれない)副作用を起こす余地を与えてしまっている。
結局これには反論できないわけねw
0983デフォルトの名無しさん
2012/05/30(水) 17:03:30.53> メモリ16GとかHDD2TBとかだよ。
ストレージが大きいほどimmutableなデータ型は使い易くなるだろ。
更新するたび新しい領域使っても大丈夫になるんだから。
もっとも、更新するたび全コピーするような馬鹿な設計にはなってないがな。
関数型憎しで主張が支離滅裂になってるぞ。
0984デフォルトの名無しさん
2012/05/30(水) 17:08:32.05> 関数型言語は単に副作用を無くしただけ。
何度も何度も「関数型言語でも副作用は書ける」と言われていて
実際に副作用を持つコードもスレに張られているのに
お前は何時になったら学ぶんだ?
お前は手続き型&副作用が大好きだが、お前の脳は
一度書き込んだら修正不可能らしいな。
0985デフォルトの名無しさん
2012/05/30(水) 17:34:07.94その上で、副作用を伴う場合は、ごく自然に当たり前のように
副作用を表現できる。
0986デフォルトの名無しさん
2012/05/30(水) 18:01:04.68各副作用に対して、スコープやアクセス権の管理はどこまで出来るん?
0987デフォルトの名無しさん
2012/05/30(水) 18:14:13.49逆に、管理出来ていない副作用ってなんなの?
0988デフォルトの名無しさん
2012/05/30(水) 18:29:49.51もしかして、その概念すら無いのか?
だとしたら「副作用を管理できる」とは言えなさそうだな
0989デフォルトの名無しさん
2012/05/30(水) 19:06:22.93手続き型がベースとなるのは当たり前なのです。
関数型は適用できるところだけで使ってくださいなオマケ機能。
Aというファイルを更新してファイル名Bで保存する。
たしかにAについてimmutableは守られたが、
Aの最新版がBであることを知っているのは、本人だけ。
周知徹底の為には全てをトップダウンで済ませる必要がある。
余計に面倒だから普通は上書きを使う。
0990デフォルトの名無しさん
2012/05/30(水) 19:16:46.46そうだね。管理したいと思わないものは管理できない。
986は、なぜ管理したいと思ったのかな?
0991デフォルトの名無しさん
2012/05/30(水) 19:18:56.91複数人の人間が非同期に書き込む。
書き込み内容は、書き込み時間順に整理される。
掲示板は非同期吸収のためのバッファとして作用する。
こういった現象を表現するのに関数型は向いていない。
が、現実にはありふれている。
コンピュータには沢山のマイクロチップが載ってるし、
マルチプロセスだし、マルチスレッドだって使う。
おおよそ殆どのことは非同期で、
共通のバッファを持つことで同期処理をする。
バッファは当然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> それをいうなら、手続き型でも副作用を無くすスタイルは取れる。
その主張は「動的型付け言語でも人間が気をつけてテストすれば
型安全なプログラムを書ける」と同程度の意味しかない。
0994デフォルトの名無しさん
2012/05/30(水) 19:57:11.64> マルチプロセスだし、マルチスレッドだって使う。
> おおよそ殆どのことは非同期で、
> 共通のバッファを持つことで同期処理をする。
immutableなデータは排他制御しなくても
複数のスレッドで共有できる。
そんなことも知らんのか。
0995デフォルトの名無しさん
2012/05/30(水) 20:15:21.100996デフォルトの名無しさん
2012/05/30(水) 20:22:43.610997デフォルトの名無しさん
2012/05/30(水) 20:42:35.050998デフォルトの名無しさん
2012/05/30(水) 21:59:19.64最初から勝負になってない
0999デフォルトの名無しさん
2012/05/30(水) 22:30:10.79IOモナドで挫折するレベルの低能が使っても
副作用を書く事すら出来ない
1000デフォルトの名無しさん
2012/05/30(水) 22:37:08.75手続き型オブジェクト指向言語を使う、でFA
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。