最近、無数に関数型記事が上がっています。入門記事は、これでもかと言うくらい。私も関数型を浸透させたいので、めげずに上げます。多くの記事は、文字のみで語っていてソースコードで見なければ、良くメリットがわからないという指摘を見かけた気がしたので、コード中心の記事を上げたいと思います。 TL;DR 関数型プログラミング、関数型言語を使うことによって、以下の利点を得ることが出来ます。 副作用があるコードと無いコードを分けて、テストのしやすさを確保します。 関数型プログラマは、ミスの発見の多くをコンパイラに任せます。 抽象的な汎用関数を使い、具体的な関数を記述します。結果ソースコード全体が短くなります。 はじめに 用語説明 用語の定義から入ります。関数型プログラミング自体に厳密な定義は無いと思います。しかし、自分が思っている関数型プログラミングを以下に項目を列挙したいと思います。 関数がファーストク
![非関数型プログラマでも分かる関数型プログラミング入門 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/43fff554e4b16547d3817836a4472d5fd937adda/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUU5JTlEJTlFJUU5JTk2JUEyJUU2JTk1JUIwJUU1JTlFJThCJUUzJTgzJTk3JUUzJTgzJUFEJUUzJTgyJUIwJUUzJTgzJUE5JUUzJTgzJTlFJUUzJTgxJUE3JUUzJTgyJTgyJUU1JTg4JTg2JUUzJTgxJThCJUUzJTgyJThCJUU5JTk2JUEyJUU2JTk1JUIwJUU1JTlFJThCJUUzJTgzJTk3JUUzJTgzJUFEJUUzJTgyJUIwJUUzJTgzJUE5JUUzJTgzJTlGJUUzJTgzJUIzJUUzJTgyJUIwJUU1JTg1JUE1JUU5JTk2JTgwJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz04ZWMzODBiMzllNWUwNzRhMDgzM2VjZDFhOTU1Nzk1ZQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwYWJhYnVwMTE5MiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NjQ5Y2RhOTMxMmIxODliNTg1NGNlM2JjMDNmMDgxYWQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D0f55237417fba1a5093510b8b3d72e8c)