2015年は関数型プログラミング&FRPが躍進か!?

アバター
emadurandal
記事: 10
登録日時: 11年前
連絡を取る:

2015年は関数型プログラミング&FRPが躍進か!?

投稿記事 by emadurandal » 10年前

皆様、あけましておめでとうございます。今年もよろしくお願いいたします!

さて、Qiitaで話題のこの方の一連のシリーズ。読んでおります。
http://qiita.com/kenokabe/items/c7f213b7a2a7b2c3ef49

Angularが一世を風靡した2013〜2014年でしたが、Angular2.0は1.xとは非互換、しかも1.xのサポート期間は最長2年程度と、結構短いようです。
この記事の方はReact推し。MVCなぞオブジェクト思考時代の時代遅れの産物であると斬って捨てておられます。

実際にReact+Facebook immutableがAngularを引きずり下ろし、業界を席巻する運命にあるかは、神のみぞ知るといったところです。しかし、面白くなってきたことだけは確か。Reactの情報は私も追っていこうと思います。

また、同じ著者の方のこの関数型プログラミング入門記事も必読です。
http://qiita.com/kenokabe/items/618692858044a89adbc0

たしかに、今までの手続き型プログラミングはフロー制御と状態変数にバグがないか、いちいちテストが必要で、決してスマートとはいえないものです。
関数型プログラミングなら、論理問題をほぼそのままコード化することができ、バグの入りようがありません。

今までの手続き型プログラミングは、現在のコンピューターの動作原理に引きずられた、ある種妥協の産物であったのかも、とすら思えてきます。

ってな感じで、私はこの方の記事をきっかけに、関数型プログラミングとFRPの勉強を始めました。
もちろんプログラミングにおける万能薬というわけではないでしょうが、大きな武器になってくれることは間違いないでしょう。

2015年は、プログラミング・パラダイムにおける、大きな移行の年になるかもしれませんね。

アバター
nullptr
記事: 239
登録日時: 13年前

Re: 2015年は関数型プログラミング&FRPが躍進か!?

投稿記事 by nullptr » 10年前

あけましておめでとうございます。

高級言語で関数型プログラミングするのは楽でいいですよね。
まあそれでも私はC++を使うのをやめはしませんけども。

jQueryがクソっていう観点とかReactは好きだったりはしますけど、jQueryが消えるかって言うと無理でしょうね。
既に使われているものを書き直すコストに見合うと乗り換えたり修正したり企業などは少ないでしょう。使われるとしたら新しく構築されるものであって、業界を書き換えてしまうというほどの勢力ではないと私は感じます。良し悪しだけではなかなか変わらないもんですよ。悲しいことに。

関数型プログラミング自体、ずっと前からあるけれど、やっと最近認知され始めたものです。全体の流れは1年そこらで変わるものではないですから、まだまだ今後に期待ですね。

アバター
emadurandal
記事: 10
登録日時: 11年前
連絡を取る:

Re: 2015年は関数型プログラミング&FRPが躍進か!?

投稿記事 by emadurandal » 10年前

>nullptrさん

確かに、あれだけ普及したjQueryが消えることはないと私も思います。
「市場を支配している1番手を倒すには、それの10倍優れたものか、半分の価格を実現する必要がある」という言葉を聞いたことがあります。

Reactが10倍優れたものになりうるかは、どうなんでしょうね。仮にそうだったとしても、皆がその優位性をきちんと認知してくれる必要もありそうです。

関数型プログラミング、実は私以前にSchemeをちょろっと勉強したことがあったんですが、現実的な用途をあまり見いだせずに投げちゃったことがありまして^^;
でも、今度はうまくいきそうな気がしています。プログラミングでここまで興奮しているのはひさしぶりなのです^o^

アバター
海Sea
記事: 102
登録日時: 14年前

Re: 2015年は関数型プログラミング&FRPが躍進か!?

投稿記事 by 海Sea » 10年前

ここで質問させてもらってすいませんが、
少し気になることがありまして、
ご紹介の記事で、
javascriptで関数型というか宣言型
というくくりでエレガントなコードを目指しているのはわかるのですが、
この考え方は、haskellなどの関数型言語では、
普通に可能なことで、
だからこそ関数型言語が良いという結論でいいんでしょうか?
最後に編集したユーザー 海Sea on 2015年1月05日(月) 12:55 [ 編集 2 回目 ]

アバター
emadurandal
記事: 10
登録日時: 11年前
連絡を取る:

Re: 2015年は関数型プログラミング&FRPが躍進か!?

投稿記事 by emadurandal » 10年前

>海Seaさん

お返事遅れましてすみません。気づくのが遅れました^^;

haskellなど他の関数型言語は、私は触ったことがないんですよね。
なので「十中八九そうなんじゃないかな」という印象は持っていますが、絶対そう、と断言はできません(触ってもいないのに断言するのは無責任なので)

また、「関数型言語が良い」、という「良い」という言葉もまた人によって捉え方がまちまちだと思うので、私もちょっと答えづらいです。

少し調べた程度の知識ですが、関数型言語には純粋型と非純粋型というのがあるようで、
haskellは純粋型、F#やScalaその他の多くの関数型言語は非純粋型(副作用を許容する)にカテゴライズされます。

どうも、F#などScalaなどの言語は、実用性(実際のプログラムでは副作用が付き物)を考えた上で非純粋型の設計を選んだようです。

また、私は関数型に強い興味を持ってはいますが、関数型だからこそ無条件に最高、という風には思っていません。
従来の手続き型の方が向く問題もあると思います。

どんなパラダイムも、結局は適材適所ではないでしょうか。
少なくとも、数学的・論理的な問題に帰着できるような対象については、関数型は理想的な手法とは言えると思いますし、またそういう対象は思いの外多いような気がします。今から学んでおいて損はないでしょうね^^