■ このスレッドは過去ログ倉庫に格納されています
【アンチ】関数型言語は使えない【玩具】 2
- 1 :デフォルトの名無しさん:2012/02/28(火) 20:45:47.95 .net
- 前スレ
http://toro.2ch.net/test/read.cgi/tech/1320743217/
- 613 :デフォルトの名無しさん:2016/05/12(木) 22:52:47.25 ID:8TC1mk7E.net
- 純粋な関数型言語でも破壊的操作できるしな
Strefとか
- 614 :デフォルトの名無しさん:2016/05/12(木) 23:10:15.34 ID:zYz5PexE.net
- >>613
それは純粋…なのか?
- 615 :デフォルトの名無しさん:2016/05/13(金) 00:06:04.14 ID:aPWpKB+z.net
- STRefやSTArrayを使ってもIOと同じく純粋なんじゃない?
unafePerformIoは流石に純粋な関数じゃないけど
- 616 :デフォルトの名無しさん:2016/09/02(金) 11:30:53.61 ID:D4RF+Hn1.net
- 純粋てそんなに大事か?
- 617 :デフォルトの名無しさん:2016/09/07(水) 03:49:40.44 ID:9Lt8mKWi.net
- 関数型に習熟する程、コードが難読暗号化していくんだよね
結局、人間の脳の思考は手続き型なので、相容れない
- 618 :デフォルトの名無しさん:2016/09/07(水) 08:57:13.44 ID:a2mDvCkE.net
- 文系バカは黙ってろよ
- 619 :デフォルトの名無しさん:2016/09/07(水) 11:54:58.12 ID:a0LGmt6T.net
- バカでもつかえる言語がいい
- 620 :デフォルトの名無しさん:2016/09/07(水) 13:38:27.31 ID:jchB9RaR.net
- 状態のある関数を避けようとしても結局最後には必要になるんだよな
- 621 :デフォルトの名無しさん:2016/09/07(水) 14:11:30.18 ID:puejZ238.net
- 関数型は状態を扱う箇所を局所化しやすいだけでそりゃ状態はどっかで扱うよ
- 622 :デフォルトの名無しさん:2016/09/07(水) 16:43:13.31 ID:jchB9RaR.net
- 純粋関数支持者は理想の世界だけで生きててなかなかそこから抜け出さないんだよな
現実のどろどろした世界は一切触れようとせず、最後の最後でどうしても必要に
なると初めて触れるんだよ
- 623 :デフォルトの名無しさん:2016/09/08(木) 00:39:46.00 ID:UIDqcnzL.net
- 4年前のスレか
まだ生きてるのか
- 624 :デフォルトの名無しさん:2016/09/08(木) 00:40:58.48 ID:UIDqcnzL.net
- >>581や>>583はtanakhか?
- 625 :デフォルトの名無しさん:2016/09/08(木) 01:09:27.51 ID:5Hkt65M1.net
- >>622
それでアプリ動くならいいんじゃねーの
- 626 :デフォルトの名無しさん:2016/09/09(金) 21:09:27.70 ID:oMlYA35z.net
- 逃げてるからいざさわると不自然になる
- 627 :デフォルトの名無しさん:2016/09/10(土) 18:41:34.87 ID:7WgbQe9V.net
- モナドが汚い部分を全部吸ってくれる
空気清浄機のフィルター的な存在
- 628 :デフォルトの名無しさん:2016/09/10(土) 20:15:01.99 ID:vL431mpn.net
- クソが詰まってる感じ?
- 629 :デフォルトの名無しさん:2016/09/19(月) 10:59:05.14 ID:VmTCwx9N.net
- 聳え立つ糞
mtl
- 630 :デフォルトの名無しさん:2016/11/15(火) 20:14:40.42 ID:q7LJNjlP.net
- たまにコンビニでモナド買って食べたくなるよな。
- 631 :デフォルトの名無しさん:2016/11/17(木) 02:07:42.46 ID:zLkSWGjU.net
- 競技プログラミングの問題だとHaskellでエレガントに書ける場合が多い…気がする
現実の入出力の多いシステムの開発でどこまで役に立つかは知らん
- 632 :デフォルトの名無しさん:2016/11/17(木) 02:48:09.51 .net
- いや、競技プログラミングだと書きにくい。
最初の一問目だと条件緩いから良いんだけど、三問目くらいからかなりキツくなる
Haskellは油断するとオーダー滅茶苦茶嵩むので簡単にTLEするし、非道いときには想定解で実装してもギリギリ時間切れ喰らうこともある。
最悪なのはHaskellで最適化するのはかなりのウルトラCを要求され、超絶技巧コーディングを試験時間内に気づくのは困難を極める点。
競技プログラミングの条件はC言語で解くことを前提に作問されていて時間やメモリ使用制限が厳しい
Haskellでの参加者は大体前半までの正解者はいるが、後半の問題は提出者は僅かにいても正解者はほぼいない惨状
有名Haskellerでも競技プログラミングはC++で参加してるのが普通
- 633 :デフォルトの名無しさん:2016/11/17(木) 03:09:31.83 ID:zLkSWGjU.net
- >>632
はぇ〜そうなのか
Haskellだと記述は楽なのだがそういう問題があったか
関数型言語は計算機の低レベルのアーキテクチャと大きくかけ離れてるから
同じコンパイラ型言語だと実行速度の最適化は手続き型言語に比べて限界があるのかもしれんな
- 634 :デフォルトの名無しさん:2016/11/17(木) 07:58:20.07 ID:p/1dirVW.net
- OCamlならいいんじゃね
- 635 :デフォルトの名無しさん:2016/11/18(金) 19:51:19.73 ID:SgtZza8z.net
- 前スレの>>1の意見を見ると、商業主義に魂を売ってるのが分かる。
プログラミングの過程における新たな発見みたいな価値を全て
否定しているんだな。
玩具でもよくできた玩具ならそれだけで価値はある。
金になるかならないか考えるならプログラミングする必要はないし、
人を雇えばいい。他人にコードを書かせて一番儲かるプログラミング
方法を強制すればいいし、ほかには金を投資する事と営業する事だけを
考えればいい。
コンピュータ使って自分自身で何か作る必要ないじゃないか。
- 636 :デフォルトの名無しさん:2016/11/18(金) 20:13:59.76 ID:LccmGd/F.net
- >>632
>Haskellは油断するとオーダー滅茶苦茶嵩むので簡単にTLEするし、
これはない
定数部分が遅くなってもオーダーが間違ってるのはHaskellのせいじゃない
> 非道いときには想定解で実装してもギリギリ時間切れ喰らうこともある。
これはよくある
- 637 :デフォルトの名無しさん:2016/11/19(土) 14:19:16.69 ID:ygHmZoSw.net
- Haskellはうっかり!!!プログラマのせい!!!で計算量を読み違えがちなので競技プログラミングには扱いにくい
参考
http://d.hatena.ne.jp/nishiohirokazu/touch/20100622/1277208908
- 638 :デフォルトの名無しさん:2016/11/19(土) 14:36:49.50 ID:leXZmGhT.net
- 余再帰のコードは必然的に遅延評価絡みなので空間(ときどき時間)のオーダーを読み間違う
遅延評価ならではのコードを書かない限り気にする必要はない
あとは自己責任
- 639 :デフォルトの名無しさん:2016/11/19(土) 14:37:58.17 ID:leXZmGhT.net
- つうかそもそも競プロコード書いてるときに余再帰コード書くやつは根本的に色々間違ってるだろ
- 640 :デフォルトの名無しさん:2017/01/10(火) 22:20:35.26 ID:OXhzJIwU.net
- そもそもHaskellは速いコード書く様な言語じゃないと思う。
reverse関数とかは配列と破壊的代入がある方が関数型の半分で済む。
ただ、手続き型より数学に近い言語だからコンピュータの仕組みが理解出来ない人にもプログラミング教えやすいとは思う。
(実際、変数に値を代入する(コピー)って感覚がわからない人はいた)
あと、参照透明だから、入力に依存しない関数はコンパイル時実行とか導入すれば速くなりそう。
去年知ったけど、いつの間にか普通の再帰が自動で末尾再帰最適化(ループへ変換)されてたから、Haskellもまだ最適化の余地は沢山あると思う。
(元々参照透明の強みは積極的な最適化だと言われてる)
今のHaskellみたいに並列処理に特別な関数や型を使うんじゃ無くて、普通に書いたらまんま並列処理できる様にもなって欲しい。
(参照透明の利点。ただ、効率的な並列がやりにくいとも)
それに、現行コンピュータのアーキテクチャから切り離されてるから、量子コンピュータとかにも使えそうとか、家にPCが無くても紙と鉛筆でプログラミング勉強しやすいってのはある。
- 641 :デフォルトの名無しさん:2017/01/11(水) 00:22:39.53 ID:co962JBH.net
- え、Haskellの実行速度、十分早いんじゃないの
- 642 :デフォルトの名無しさん:2017/01/11(水) 00:56:53.12 ID:4yaLCJvM.net
- 十分速いの定義が曖昧です
Java程度の速度は出ることが十分速いというのなら十分速いのでしょう
しかしC++/Cにはどうしても及びません
それから、この文脈のはやいは早いでなく速いがより適切です。
- 643 :デフォルトの名無しさん:2017/01/11(水) 01:30:51.23 ID:co962JBH.net
- とりあえず2chで誤字脱字の指摘はせんでえーよ。
変換間違えてもめんどいからそのまま書き込むし
- 644 :デフォルトの名無しさん:2017/01/11(水) 04:54:14.36 ID:qB6hV9pT.net
- 充分速いけど、手続き型よりコンピュータの特性活かしたコードにならないから。。。
単純に速さ求めるなら手続き型に敵わない。
保守性の高さとか、並列処理の書きやすさとかが関数型の利点。
万能だとは思わない方がいい。
(単純に関数型ならではの最適化を実装出来てないだけかもだけど)
いあ、ある程度の速度低下を許容出来るほど書いてて気持ちいいが。
- 645 :デフォルトの名無しさん:2017/01/11(水) 08:14:15.91 ID:co962JBH.net
- んー配列上のいくつかを入れ替えるってんならそりゃCの方が速いよね
がもうちょっと高度なロジックとかで遅延評価なども生きた時にともすればCを上回る時ガーって無いのかと。
いやじゃあその遅延評価もCで実装すればとかになっちゃうので結局人間のある程度の最適化+コンパイラの最適化でこの規模のこういう奴だとHaskellの方が速かったって事例があるかって話になると思うのだけど。
まあそれよりも生産性の高さとかが土俵ってのは認識してる
- 646 :デフォルトの名無しさん:2017/01/11(水) 11:20:16.02 ID:Q05JSKiv.net
- 取り敢えずC#には勝ちたい
- 647 :デフォルトの名無しさん:2017/01/13(金) 06:50:42.54 ID:tNTQooLV.net
- >>645
安全性、生産性、速度が欲しいなら、素直にML使えよ
- 648 :デフォルトの名無しさん:2017/01/13(金) 08:10:23.06 ID:8MbrIHvk.net
- F#でおけー
- 649 :デフォルトの名無しさん:2017/04/04(火) 12:35:32.05 ID:yB9dvwaO.net
- ここまでC#圧勝
- 650 :デフォルトの名無しさん:2017/05/22(月) 00:29:15.41 ID:MWG7Yl6s.net
- x = x + 1
やっぱりこの式不自然なんだよ
確かに最初は漏れも違和感はあったさ
慣れちゃったけどw
- 651 :デフォルトの名無しさん:2017/05/22(月) 04:32:34.68 ID:DJqDUcnH.net
- n
Σ f(i)
i=1
も不自然か?
- 652 :デフォルトの名無しさん:2017/05/22(月) 11:59:31.98 ID:N2jskJZQ.net
- Σ f(i)
i ∈ {1,2,..,n}
でないと不自然だと思う派
- 653 :デフォルトの名無しさん:2017/07/02(日) 08:19:37.90 ID:uovtJU8N.net
- >>636
だうと。
適切なところで正格にして計算を掃き出してやらんと、途中の計算がデップリと太るぞ。
- 654 :デフォルトの名無しさん:2017/11/16(木) 18:01:27.10 ID:J9+3Mlf3.net
- x := x+ 1
- 655 :デフォルトの名無しさん:2017/12/01(金) 01:42:33.48 ID:dfkoWefU.net
- >>650
代数的に見たら左辺右辺は同時に起きてるから不自然だけど
変数一つ一つの手続きとして見たら同時ではないから不自然でもない
- 656 :デフォルトの名無しさん:2017/12/01(金) 10:32:26.35 ID:Bo3rAmRU.net
- そもそもxと書いてあっても左辺と右辺で意味違うから
- 657 :デフォルトの名無しさん:2017/12/30(土) 11:49:18.87 ID:YwfhvjSU.net
- x.setValue(x.getValue()+1)
- 658 :デフォルトの名無しさん:2018/02/16(金) 06:28:20.88 ID:W1XJdyx1.net
- ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
- 659 :デフォルトの名無しさん:2018/02/16(金) 17:09:26.03 ID:By/epdKB.net
- 恥を知れ
- 660 :デフォルトの名無しさん:2018/05/23(水) 20:55:10.20 ID:Au5e7VGg.net
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
MRENS
- 661 :デフォルトの名無しさん:2018/07/05(木) 00:58:45.63 ID:RfoszcD2.net
- Y2X
- 662 :デフォルトの名無しさん:2018/08/23(木) 15:45:34.06 ID:NPcuqlt3.net
- >>659
聡を知れ
総レス数 662
157 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★