前スレ
http://toro.2ch.net/test/read.cgi/tech/1320743217/
探検
【アンチ】関数型言語は使えない【玩具】 2
■ このスレッドは過去ログ倉庫に格納されています
2012/02/28(火) 20:45:47.95
2デフォルトの名無しさん
2012/02/28(火) 21:08:37.062012/02/28(火) 21:38:51.34
今時の技術についていけなくなったら辞めてくださいね
2012/02/28(火) 22:28:08.33
前スレで関数型言語は玩具にすぎないと結論出たからスレは不要
2012/02/28(火) 23:03:54.55
>>1乙
前スレ>>992-993
なら、Haskellもコンパイラの進歩でpythonに並ぶ余地はあるって事か
元々、length関数や、++演算子(リストの連結演算子)が初心者にも簡単に作れるってのが気に入ってるだけだから、体感できない速度差は気にならんけど・・・
Haskellに惹かれるのは、defとか、forとか、(モナド使わない限りはifも)そう言うキーワードをなるべく見ないで済むってのが、一番大きい気がする
(というか、forとifが一番見たくない)
あと、基本的に右辺と左辺が=(等しい)なのも気に入ってる
コンパイラのmain=...と言うのも、あながち間違ってない
速度こそpythonに劣るだろうけど、自作のmap関数や、++演算子などの":"で区切られて、状態を次の再帰に引き摺らないものは、単純再帰でも、ループとして扱われる
(だからこそ、末尾再帰は、次の再帰に状態を引き摺らないのでループになる)
結局、アセンブラに実現できることは、関数型言語でも、命令型言語でも、最終的な最適化の形は同じになるだろうけど、それは時間が解決する話
関数型言語の最終的な最適化の形は
http://ideone.com/SaMJe と http://ideone.com/kzkty が同じ速度になる事
これは、参照透明性が確保されて無いと、最適化できない事の一つ
(まだ実現されてないけし、逆に言えば、参照透明性が確保された関数に限れば、命令型言語でも理論的には最適化可能なはず)
前スレ>>992-993
なら、Haskellもコンパイラの進歩でpythonに並ぶ余地はあるって事か
元々、length関数や、++演算子(リストの連結演算子)が初心者にも簡単に作れるってのが気に入ってるだけだから、体感できない速度差は気にならんけど・・・
Haskellに惹かれるのは、defとか、forとか、(モナド使わない限りはifも)そう言うキーワードをなるべく見ないで済むってのが、一番大きい気がする
(というか、forとifが一番見たくない)
あと、基本的に右辺と左辺が=(等しい)なのも気に入ってる
コンパイラのmain=...と言うのも、あながち間違ってない
速度こそpythonに劣るだろうけど、自作のmap関数や、++演算子などの":"で区切られて、状態を次の再帰に引き摺らないものは、単純再帰でも、ループとして扱われる
(だからこそ、末尾再帰は、次の再帰に状態を引き摺らないのでループになる)
結局、アセンブラに実現できることは、関数型言語でも、命令型言語でも、最終的な最適化の形は同じになるだろうけど、それは時間が解決する話
関数型言語の最終的な最適化の形は
http://ideone.com/SaMJe と http://ideone.com/kzkty が同じ速度になる事
これは、参照透明性が確保されて無いと、最適化できない事の一つ
(まだ実現されてないけし、逆に言えば、参照透明性が確保された関数に限れば、命令型言語でも理論的には最適化可能なはず)
6デフォルトの名無しさん
2012/02/28(火) 23:24:52.82 >>5 最後の行について
Fortran95には、純粋関数/手続きというのがあって、これは副作用を持たない
ということなのたが、ベクトル演算ができるようになる。
が、write文が使えなくなるとか、グローバル変数が使えないとかいろいろ
制約があって非常に使いにくい。
Fortran95には、純粋関数/手続きというのがあって、これは副作用を持たない
ということなのたが、ベクトル演算ができるようになる。
が、write文が使えなくなるとか、グローバル変数が使えないとかいろいろ
制約があって非常に使いにくい。
2012/02/29(水) 00:07:48.89
●過去スレ
関数型言語は何故普及しないのかを考える
http://hibari.2ch.net/test/read.cgi/tech/1277215506/
関数型言語は何故普及しないのかを考える
http://hibari.2ch.net/test/read.cgi/tech/1286791669/
【アンチ】関数型言語は使えない【玩具】
http://toro.2ch.net/test/read.cgi/tech/1320743217/
●関連スレ
関数型言語Part5
http://toro.2ch.net/test/read.cgi/tech/1252470706/
関数型言語は何故普及しないのかを考える
http://hibari.2ch.net/test/read.cgi/tech/1277215506/
関数型言語は何故普及しないのかを考える
http://hibari.2ch.net/test/read.cgi/tech/1286791669/
【アンチ】関数型言語は使えない【玩具】
http://toro.2ch.net/test/read.cgi/tech/1320743217/
●関連スレ
関数型言語Part5
http://toro.2ch.net/test/read.cgi/tech/1252470706/
2012/02/29(水) 00:20:49.11
速度比較は、よくネタになるけど、最も抽象度の低い言語でも出来る例での比較→言語自体の優劣の流れは無意味だろ。
VBとアセンブラを比べるようなもんだけど、単純作業での比較にこだわる人が多いのはなんでだろう?
VBとアセンブラを比べるようなもんだけど、単純作業での比較にこだわる人が多いのはなんでだろう?
2012/02/29(水) 00:25:12.28
なぜ関数型言語は普及しないか - プログラミング日記
http://d.hatena.ne.jp/morchin/20110614/p1
「なぜ関数型言語は普及しないか」に対する言及
http://togetter.com/li/149656
関数型言語が普及しない理由 - mizon dev
http://d.hatena.ne.jp/mizon9/20111112/1321046483
関数型言語が普及しない理由その2 - mizon dev
http://d.hatena.ne.jp/mizon9/20111112/1321128525
関数型言語が普及しない理由 - 偏見プログラマの語り!
http://d.hatena.ne.jp/kura-replace/20111114/1321236695
関数型言語が普及しない理由 - より良い環境を求めて
http://d.hatena.ne.jp/n314/20111114/1321290502
http://d.hatena.ne.jp/morchin/20110614/p1
「なぜ関数型言語は普及しないか」に対する言及
http://togetter.com/li/149656
関数型言語が普及しない理由 - mizon dev
http://d.hatena.ne.jp/mizon9/20111112/1321046483
関数型言語が普及しない理由その2 - mizon dev
http://d.hatena.ne.jp/mizon9/20111112/1321128525
関数型言語が普及しない理由 - 偏見プログラマの語り!
http://d.hatena.ne.jp/kura-replace/20111114/1321236695
関数型言語が普及しない理由 - より良い環境を求めて
http://d.hatena.ne.jp/n314/20111114/1321290502
10デフォルトの名無しさん
2012/02/29(水) 01:47:42.56 >>8 パッと見て、いろいろ言えるからではないだろうか。
そこそこ重たい数値計算をやりだすと、関数型言語が謳う理想通りにいかない
場面はいろいろあるのだが、2chのように限られた字数でしかも関係者外にも
わかるように問題点を説明するのはなかなかうまくいかない。
そこそこ重たい数値計算をやりだすと、関数型言語が謳う理想通りにいかない
場面はいろいろあるのだが、2chのように限られた字数でしかも関係者外にも
わかるように問題点を説明するのはなかなかうまくいかない。
2012/02/29(水) 02:30:51.04
個人的にはHaskell、lispはアプリ言語が欲しい時によく使うし、C、Javaはインフラで使ってる。
各言語には目的によって向き不向きがあるから、用途を論じるとか、用途拡大方法を考えるならまだ判る。
同じような単純作業の比較で何を得たいのか判らないんだよね。
各言語には目的によって向き不向きがあるから、用途を論じるとか、用途拡大方法を考えるならまだ判る。
同じような単純作業の比較で何を得たいのか判らないんだよね。
2012/02/29(水) 06:20:45.06
>>8
抽象度が低くてもチューリング完全なら最終的にできることは一緒
どれだけ簡潔に書けるかという意味でいうなら、reverseという簡単な例ですら
CとHaskellには大きな差がちゃんと在った
つーか前スレの配列版HaskellはCの次に速かったぞ
コード量もC並みだが
抽象度が低くてもチューリング完全なら最終的にできることは一緒
どれだけ簡潔に書けるかという意味でいうなら、reverseという簡単な例ですら
CとHaskellには大きな差がちゃんと在った
つーか前スレの配列版HaskellはCの次に速かったぞ
コード量もC並みだが
2012/02/29(水) 08:54:55.81
>>12
>reverseという簡単な例ですら
そういう単純な例で実行時間が違うのはわかるけどさ、それを言語全体の優劣判定に短絡するのが無意味だと思うんだが。
コンピュータの利用範囲が広がるに連れて、アセンブラだけでは実現に手間がかかるから色んな言語が開発された訳だから。
例えば金融商品企画のようなアプリを、リソースを大量に使えばCでも開発は理屈上は可能だが、
それはもはやHaskellのインタープリターをCで再発明するくらいの問題になる。
だから疑問は、リソースには色々あるのに、なぜ単純な例で時間だけに拘るのか?という事。
単純例しか経験がなくて、時間以外のリソースは微々たるものだと考えてる者なら必然だけどね。
>reverseという簡単な例ですら
そういう単純な例で実行時間が違うのはわかるけどさ、それを言語全体の優劣判定に短絡するのが無意味だと思うんだが。
コンピュータの利用範囲が広がるに連れて、アセンブラだけでは実現に手間がかかるから色んな言語が開発された訳だから。
例えば金融商品企画のようなアプリを、リソースを大量に使えばCでも開発は理屈上は可能だが、
それはもはやHaskellのインタープリターをCで再発明するくらいの問題になる。
だから疑問は、リソースには色々あるのに、なぜ単純な例で時間だけに拘るのか?という事。
単純例しか経験がなくて、時間以外のリソースは微々たるものだと考えてる者なら必然だけどね。
2012/02/29(水) 11:44:51.88
誰かHaskellが遅いから言語として劣ってるって書いてたっけ?
事実としては「Haskellは遅い」それだけ
言語の優劣は各自で判断すべき
事実としては「Haskellは遅い」それだけ
言語の優劣は各自で判断すべき
15デフォルトの名無しさん
2012/02/29(水) 11:56:48.77 はっきり数字出ましたし。
2012/02/29(水) 12:14:19.99
関数型のリファレンス言語と見られる言語が遅かったら
そりゃ価値を見出せないよ
そりゃ価値を見出せないよ
2012/02/29(水) 13:22:34.34
速さならOCamlがC並ってのは良く聞く
自分はdefとかrecとか関数定義にプログラミング言語特有のキーワード使う機会が少ないのが気に入ってhaskell使ってるけど
自分はdefとかrecとか関数定義にプログラミング言語特有のキーワード使う機会が少ないのが気に入ってhaskell使ってるけど
2012/02/29(水) 14:33:26.94
>>13
>単純例しか経験がなくて、時間以外のリソースは微々たるものだと考えてる者なら必然だけどね。
このスレは、既存のHaskellコンパイラより早いHaskellインタープリターを自作出来る猛者が集う場所ですよ?
>単純例しか経験がなくて、時間以外のリソースは微々たるものだと考えてる者なら必然だけどね。
このスレは、既存のHaskellコンパイラより早いHaskellインタープリターを自作出来る猛者が集う場所ですよ?
2012/02/29(水) 14:33:56.41
遅い遅いって一生言ってろ、でいいんじゃね?
シートベルトって窮屈じゃん、って言ってるバカと同じなんだから。
シートベルトって窮屈じゃん、って言ってるバカと同じなんだから。
2012/02/29(水) 14:40:32.02
>>14
>事実としては「Haskellは遅い」それだけ
そのとおり。
Haskellでできる事は全部、C、Pythonならもっと早く出来る。
時間は重要なリソースだという事は学生にはわからんだろうな。
>事実としては「Haskellは遅い」それだけ
そのとおり。
Haskellでできる事は全部、C、Pythonならもっと早く出来る。
時間は重要なリソースだという事は学生にはわからんだろうな。
2012/02/29(水) 15:16:18.78
2012/02/29(水) 15:29:25.53
2012/02/29(水) 16:21:54.03
時間という点では開発時間も重要だね
でも長いコードと、それと同性能で短いコードで
前者の方が早く作れたりするのは良くあることだから
コード量と開発時間の相関も割りと微妙なんだよね
学習コストだとか、命令型と関数型の両方を扱える人のうち
関数型の方が早く開発出来る人の割合とかも気になるところ
でも長いコードと、それと同性能で短いコードで
前者の方が早く作れたりするのは良くあることだから
コード量と開発時間の相関も割りと微妙なんだよね
学習コストだとか、命令型と関数型の両方を扱える人のうち
関数型の方が早く開発出来る人の割合とかも気になるところ
2012/02/29(水) 17:05:05.52
haskellが遅いってのは、
c/c++より遅い、あるいは静的言語の中では平均的に遅い、という意味なんだが、
時々文脈を(意図的に?)混同して、スクリプト言語よりも遅いとか言い出す輩が後を絶たない。
前スレで可変長配列と片方向連結リストを混同して勝利宣言してる馬鹿を見た時はまたかと思ったよ。
c/c++より遅い、あるいは静的言語の中では平均的に遅い、という意味なんだが、
時々文脈を(意図的に?)混同して、スクリプト言語よりも遅いとか言い出す輩が後を絶たない。
前スレで可変長配列と片方向連結リストを混同して勝利宣言してる馬鹿を見た時はまたかと思ったよ。
2012/02/29(水) 17:06:08.59
2012/02/29(水) 17:06:10.29
藁人形製作乙です。。。
2012/02/29(水) 17:34:45.71
2012/02/29(水) 17:37:02.40
Haskell並みに安全で機械語にコンパイルされたコードをPythonから生成してから言え
2012/02/29(水) 17:44:34.78
2012/02/29(水) 17:46:18.05
実行速度の比較をしているときに安全とか抽象力とかいうから
虫ケラ、じゃなかった、ハスケラはコミュ障だっていわれんの!
虫ケラ、じゃなかった、ハスケラはコミュ障だっていわれんの!
2012/02/29(水) 17:47:33.28
2012/02/29(水) 17:54:26.32
pythonは永続データと破壊操作を巧みに両立させて速度稼いでいるからな。
どっかでhaskellの人が永続=透明性と書かない人は理解してない人と断定してたけど、
どうしてhaskellの有名人はみんなアレなんだ?
どっかでhaskellの人が永続=透明性と書かない人は理解してない人と断定してたけど、
どうしてhaskellの有名人はみんなアレなんだ?
2012/02/29(水) 18:20:19.50
おまえの脳内の勢いがすごい勢いで加速中ということはよくわかった
2012/02/29(水) 18:58:08.72
vectorパッケージが見つからない、と思ったらGHC6.8とはね・・・
古すぎるだろ・・・・
ふふふ残念ながらMPが足りないようだ・・・
・・・とするのは悔しいので前スレのSTUArray版(お借りします)とVector版を手持ちの環境で走らせて計測してみましたよ
STUArray版(コードは省略)
結果(+RTS -sオプションから抜粋)
9 MB total memory in use (0 MB lost due to fragmentation)
Total time 0.12s ( 0.10s elapsed)
次はVector版
コード
module Main where
import qualified Data.Vector.Unboxed as V
main :: IO ()
main = print $ V.head $ V.reverse $ V.iterateN 1000000 (+1) (1 :: Int)
結果
5 MB total memory in use (0 MB lost due to fragmentation)
Total time 0.05s ( 0.04s elapsed)
まあこんなところですね
古すぎるだろ・・・・
ふふふ残念ながらMPが足りないようだ・・・
・・・とするのは悔しいので前スレのSTUArray版(お借りします)とVector版を手持ちの環境で走らせて計測してみましたよ
STUArray版(コードは省略)
結果(+RTS -sオプションから抜粋)
9 MB total memory in use (0 MB lost due to fragmentation)
Total time 0.12s ( 0.10s elapsed)
次はVector版
コード
module Main where
import qualified Data.Vector.Unboxed as V
main :: IO ()
main = print $ V.head $ V.reverse $ V.iterateN 1000000 (+1) (1 :: Int)
結果
5 MB total memory in use (0 MB lost due to fragmentation)
Total time 0.05s ( 0.04s elapsed)
まあこんなところですね
2012/02/29(水) 19:34:46.13
隔離スレとして、ちゃんと機能してるようで何より。
2012/02/29(水) 19:37:34.53
「なんで時間だけに拘るの?」
「遅いのは事実だ!!」
凄いコミュ力だなw
「遅いのは事実だ!!」
凄いコミュ力だなw
2012/02/29(水) 19:46:13.50
2012/02/29(水) 19:55:58.80
コード書いてる時間より
ビルド, 実行, ソースとにらめっこ, ウロウロしながら思考
してる時間の方が長い希ガス
ビルド, 実行, ソースとにらめっこ, ウロウロしながら思考
してる時間の方が長い希ガス
2012/02/29(水) 19:57:15.64
コード量が同じなら抽象度の高い言語の方が多くの事が出来るだろうな。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 京都のホテル大幅値下げ 訪日中国人客、年1000万人目前で急ブレーキ ★2 [蚤の市★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★4 [ぐれ★]
- 「今の女性はルッキズム」は本当なのか? 若い世代が結婚相手に求める"本当の条件" [少考さん★]
- 【サッカー】J1リーグの2025年平均観客動員数が4.4%増の21,246人 最多入場者数の2019年を超えて過去最高値 ★2 [尺アジ★]
- 【沖縄】宮古島で陸自防災訓練に抗議した団体、「恫喝された」と駐屯地トップ厳正捜査求め署名運動 「市民弾圧と戦争への道を…」 [少考さん★]
- 舛添要一氏「政府は必要な反論はすべきだが、「優雅なる無視」も中国には効く」…日中関係に私見 [少考さん★]
- 鈴木大臣「お米券の使い勝手は悪くない。卵や味噌、醤油も買えます。」 [237216734]
- 正義のミカタ「中国は日本人の反高市勢力を裏で操ってる。あいつらはスパイ」 [931948549]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪★3
- 【高市速報】来月消費税減税へ [931948549]
- 【謎高市】帽子被ってるやつの正体💥💥wwwwwwwwwwwwwwwwwwwwwwwww [683137174]
- 高市、株の税金を20%→35%にアップ!1月1日から [347751896]
