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

関数型言語は何故普及しないのかを考える

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2010/10/11(月) 19:07:49
あくまで、関数型言語は何故普及しないのかをメインに考えるスレです。
このテーマの存在をどうかお忘れなきよう願います。

前スレ
 関数型言語は何故普及しないのかを考える
 http://hibari.2ch.net/test/read.cgi/tech/1277215506/l50
0951デフォルトの名無しさん2011/01/08(土) 10:55:41
Cは難しいねえ。メモリの確保と解放は言語の性質上仕方ないけど
配列や文字列ごときで領域外アクセスしないように気を使うとかは本気であり得んと思う。
0952デフォルトの名無しさん2011/01/08(土) 11:10:33
ノイマン型の現実から目をそらしても現実は変わらない
0953デフォルトの名無しさん2011/01/08(土) 11:23:35
>>951
領域内でも間違った場所を指すことはあるから、領域の内か外かに気を使うことはない
内なら正しいと意識するとむしろ偏見になる
0954デフォルトの名無しさん2011/01/08(土) 11:29:59
>>953
ますます難しいや…
0955デフォルトの名無しさん2011/01/08(土) 12:07:44
>>952 一生機械語のバイナリでプログラミングし続ければいいと思うよ
0956デフォルトの名無しさん2011/01/08(土) 12:10:57
現実が変わらないといってるだけなんだがw
0957デフォルトの名無しさん2011/01/08(土) 12:15:59
Haskell が普及しているという現実からは必死に目をそらすのであったw
0958デフォルトの名無しさん2011/01/08(土) 12:18:45
関数型言語は副作用の問題を勘違いしている。
人間は状態機械を把握できる。問題は以下に構造化して把握するか。
その視点が致命的にない。
0959デフォルトの名無しさん2011/01/08(土) 12:19:38
>>957
0960デフォルトの名無しさん2011/01/08(土) 12:31:54
Cは池沼向け言語だよwww
0961デフォルトの名無しさん2011/01/08(土) 12:32:15
物理学が描く世界ってオートマトン的だよね。
0962デフォルトの名無しさん2011/01/08(土) 13:03:57
> 人間は状態機械を把握できる。問題は以下に構造化して把握するか。
> その視点が致命的にない。

ステートモナドないしIOモナドが構造化されていない、という証明を。
0963デフォルトの名無しさん2011/01/08(土) 13:07:41
Cでバグのない実用的なプログラム書く難しさと、Haskellでトイプログラム書く簡単さを
比べてるだけだろ。
0964デフォルトの名無しさん2011/01/08(土) 13:08:53
>>958
お前の中の「構造化」って何なのか説明してほしいな

そして、それが関数型言語の「副作用の有るものと無いものをしっかり分ける機能」
とどう関係しているのか説明してほしい
0965デフォルトの名無しさん2011/01/08(土) 13:11:02
つーかまともな実用プログラム書く気ないんだろ
0966デフォルトの名無しさん2011/01/08(土) 13:18:01
構造化とはプログラム構造をマジカルナンバー7+-2に最適化することである
0967デフォルトの名無しさん2011/01/08(土) 13:52:18
組み込みの構文糖や、組み込み型だけで7±2になる。
つまり
Lispを除くオブジェクト指向ではない動的言語
が最適である
0968デフォルトの名無しさん2011/01/08(土) 13:58:09
Prologのことかっ!
0969デフォルトの名無しさん2011/01/08(土) 14:00:21
意味論の話なんだが
0970デフォルトの名無しさん2011/01/08(土) 15:00:35
>>961
古典力学も量子力学も電磁気学も方程式で記述されてるけど、なんで?
0971デフォルトの名無しさん2011/01/08(土) 15:42:37
> Lispを除くオブジェクト指向ではない動的言語

具体的に何よ
0972デフォルトの名無しさん2011/01/08(土) 15:56:37
方程式を解けばわかるが、
方程式だけを記述するということは、まともに解く気がない。
0973デフォルトの名無しさん2011/01/08(土) 17:11:23
差分方程式なんか、そのまんま計算機にかけて解けるわけですが
0974デフォルトの名無しさん2011/01/08(土) 17:26:12
差分方程式の数値計算も理解せずに数学語っちゃうやつって
0975デフォルトの名無しさん2011/01/08(土) 17:45:41
>>972
方程式自体をデータとして扱うようなコード(定理を使って簡約とか)が書きたい
項書き換え系を理論的背景とする言語だと楽かと思い
以前elanだとか他にも何個か落としてみたが、情報がなさ過ぎて。
現状一番マシなのはMaxima(Mathematicaは買えないんで)
0976デフォルトの名無しさん2011/01/08(土) 19:14:04
>>975 reduce ってオープンソース化されたんじゃなかったけ?
0977デフォルトの名無しさん2011/01/08(土) 19:30:33
reduceってこれですか?
ttp://www.uni-koeln.de/REDUCE/
未チェックだったので今度調べてみようかな
0978デフォルトの名無しさん2011/01/08(土) 20:36:59
>>971
つ >>968
0979デフォルトの名無しさん2011/01/09(日) 00:36:42
モナドって関数型言語なんですか?
0980デフォルトの名無しさん2011/01/09(日) 00:44:37
LISPじゃだめなんですか?
0981デフォルトの名無しさん2011/01/09(日) 00:47:10
モナドは数学の用語です
関数型言語のHaskellが
モナドの特殊なバージョンを言語の機能としてサポートしているというだけ
それとは別に哲学にもモナドという語があります
0982デフォルトの名無しさん2011/01/09(日) 13:58:11
特殊なバージョンって?
0983デフォルトの名無しさん2011/01/09(日) 16:42:37
モナドとモコナの違いがわからない。
0984デフォルトの名無しさん2011/01/09(日) 18:37:54
モナコはF1グランプリの開催地の名前だよ。
0985デフォルトの名無しさん2011/01/09(日) 19:34:36
モコナは1モコナ、2モコナと数える
0986デフォルトの名無しさん2011/01/09(日) 19:43:02
Cが最強なんだよって萩谷先生がいってたの信じててよかった
0987デフォルトの名無しさん2011/01/09(日) 19:48:58
C は仕事できるが、面白くはないな

プログラムしてて一番面白いのは Haskell
0988デフォルトの名無しさん2011/01/09(日) 20:09:35
そりゃ、トイプログラムしか書かないんだから面白いわな。
0989デフォルトの名無しさん2011/01/09(日) 20:34:38
>>988
当然だ
仕事の悩みなんて一切考えずに、数学や計算機科学に没頭できる至福の時だよ
おもちゃとして最高のプログラミング言語だと思う

Haskell に勝るおもちゃんなんて、そうそう無いよ
0990デフォルトの名無しさん2011/01/09(日) 22:34:17
普及しないのも無理は無い
0991デフォルトの名無しさん2011/01/09(日) 23:35:04
既存のプログラミング言語でパズルすることが数学・計算機科学?
0992デフォルトの名無しさん2011/01/10(月) 00:32:20
>>991
本気でそんな頓珍漢な質問をするのなら、真面目に勉強してみてくれ

そのレベルのヤツにここで説明するのは骨が折れる
どうせ説明できないんだろと言われるだろが、説明を拒む理由も分るはず
0993デフォルトの名無しさん2011/01/10(月) 00:59:04
どうせ説明できないんだろ
0994デフォルトの名無しさん2011/01/10(月) 01:01:26


>>987
ただし、そこまでたどり着くには何度もゲームオーバーにならなければいけないという。
もっとも今では組み込みインタプリタやCトランスレータなり資料あるから、
うまく使えばゲームオーバーの回数も減るが。

>>990
多くのマイナー言語に共通することだが、普及させたかったら良いライブラリ、
良いテキスト、豊富なサンプル、あと目標にできる人といったものが必要になる。

あとは、所詮一般人の度肝を抜くようなデモも必要。ギークのおもちゃでは普及しないよ。
HSPの言語仕様は色々負けているが、ライトユーザーを取り込めているという点では
では上手い戦略太都重う。
0995デフォルトの名無しさん2011/01/10(月) 06:35:15
つまりこのスレの住人はだれも普及させるつもりもないし
度肝抜くデモも作れないと
0996デフォルトの名無しさん2011/01/10(月) 09:32:39
>>992
何かコード晒して下さい
0997デフォルトの名無しさん2011/01/10(月) 11:25:02
今度F#メインでサービスつくるから、リリースしたら後出しで言うわ。
0998デフォルトの名無しさん2011/01/10(月) 11:28:51
どういう形であれ、金になれば普及する
0999デフォルトの名無しさん2011/01/10(月) 11:36:44
金になるかどうかは言語ではなく企画による。
1000デフォルトの名無しさん2011/01/10(月) 13:09:57
企画によって適切な言語を選ぶ会社なんてほとんど無いよ。
どんな企画でも今まで使ってて手慣れている言語、
つまり C や Java などの有名な手続き型言語のひとつを使うに決まってる。

関数型なんて頭の片隅にも入っていない。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。