関数型 vs staticおじさん

まとめました
3
kmizu @kmizu

いやなんというか、はっきり言って、関数型プログラミングに型クラスやら圏論が必要みたいな風潮ないかんと思うのですよ。その意味でHaskellが関数型プログラミング言語代表みたいに思われる風潮は有害だと思う。それに追従するようにScalazプッシュするのも同様に有害。

2014-04-16 17:35:41
kmizu @kmizu

ちょっと過激(?)な意見を書きましたが、こと「関数型プログラミング」の普及という点においては、型クラスとか圏論とかどーでもよいので、本音でもあります。

2014-04-16 17:37:00
kmizu @kmizu

念のため言っておくと、Scalazそのものが有害といっているわけではなく、Scalaで関数型プログラミングするためにはScalazが必要みたいいにプッシュするのが有害というのが私の意見です。

2014-04-16 17:40:25
kmizu @kmizu

自分はこういう意見を折に触れて表明していますが、それは、関数型プログラミングを導入するためのハードルをいたずらにあげたくないからです。もちろん、それが必要であるなら仕方ないですが、(関数型プログラミングにとって)必須でないものをセットで持ち込んでハードルを挙げる必要はない。

2014-04-16 17:44:27
杉山哲男 @MtCedar

@kmizu どうして関数型プログラムを普及させたいんですか?

2014-04-16 19:02:31
kmizu @kmizu

@MtCedar その手法を然るべきところに採用すればいくらかの生産性の向上が見こめるから、ですかね。卑近な話では、技術者としての自分がより生きやすくするためでしょうか。

2014-04-16 19:25:52
杉山哲男 @MtCedar

@kmizu なるほど、要は趣味の問題ということですか。私としては関数型のプログラムは理解し難いので、技術者としての自分の生きやすさを守るために、心置きなく関数型プログラミングの廃絶に勤しむと良いのですね。

2014-04-16 19:45:51
kmizu @kmizu

@MtCedar んー、それでもかまいませんが、関数型のプログラムはどのようなものだと理解しておられますか?

2014-04-16 19:46:47
杉山哲男 @MtCedar

@kmizu LISPから派生した言語や手法や概念全般と理解しています。

2014-04-16 19:47:48
kmizu @kmizu

@MtCedar だとすると誤りでしょう。少なくとも、アカデミックな世界および近年広まりつつある概念とは別物です。

2014-04-16 19:48:28
kmizu @kmizu

@MtCedar そもそもLispと一口に言っても色々あり、たとえば、Emacs LispやCommon Lispはどちらかというと手続き型プログラミングを強くサポートしますし、Schemeや近年だとClojureはより強く関数型プログラミングをサポートすると言えるかと

2014-04-16 19:50:13
杉山哲男 @MtCedar

@kmizu では、LISPから派生した概念ではなくて、関数型プログラミングの生産性の高さを特徴付けているものは、端的にいうと何でしょうか。

2014-04-16 19:51:04
kmizu @kmizu

@MtCedar その前に、Lisp(LISPではありません)から派生した概念、についてより正確に教えていただけると助かります。

2014-04-16 19:52:08
杉山哲男 @MtCedar

@kmizu LISPは全部大文字の表記で正しいと思います。http://t.co/KKftl9TndL

2014-04-16 19:54:55
杉山哲男 @MtCedar

@kmizu それで、すいません。関数型プログラミングについては詳しくないので、具体的には、よくわかりません。多分、水島さんのほうが詳しいと思います。

2014-04-16 19:56:56
kmizu @kmizu

@MtCedar うーん。関数型プログラミング(のスタイル)で書かれたプログラムは読みづらいというご主張なわけですから、すぎさんは関数型プログラミングについて理解しているという前提の主張だと思ったのですが違うのでしょうか?

2014-04-16 19:58:21
杉山哲男 @MtCedar

@kmizu 十分に理解していないから読みづらいのです。

2014-04-16 19:59:47
kmizu @kmizu

#脇でみている人への解説 @MtCedar さんとはリアルでの知り合いで、こういう議論は必ずしも本気でしているわけではありません

2014-04-16 20:00:28
杉山哲男 @MtCedar

@kmizu 例えば日本人は、英語が読めれば生産性が高くなるかもしれない、と知っていても、英語は苦手だし、全部日本語になってほしいと願っていると思いませんか?

2014-04-16 20:01:56
kmizu @kmizu

@MtCedar 概念を理解していないなら読みづらい、というのは、あらゆる手法について当てはまるものですよね。構造化プログラミングでも関数による抽象であっても理解していなければ読みづらい。ということは、関数型プログラミングは手法として理解しづらいものだという主張で良いでしょうか。

2014-04-16 20:03:32
杉山哲男 @MtCedar

@kmizu そこまで一般化するつもりはありません。子供の頃からBASICやニモニックを学んでいたせいか、いわゆる関数型的なアルゴリズムの記述が、とても直観的でない記述に見えてしまうのです。

2014-04-16 20:06:40
kmizu @kmizu

@MtCedar なるほど。では、具体的なコード欠を持ち寄って議論してみませんか?自分としては、どのような部分が直観的でないのか興味があります。

2014-04-16 20:12:55
杉山哲男 @MtCedar

@kmizu 例えば目立つところでは、リスパーはループを再帰呼び出しとして書くのが好きだと思いますが、私にはそれが直観的でないように思えます。実行されるときにループなら、ループとして書けばいいじゃん!って思います。

2014-04-16 20:17:15
1 ・・ 4 次へ