タグ

2017年4月20日のブックマーク (8件)

  • 「関数型プログラミングはオブジェクト指向の正当な後継である」がわからない理由 - Qiita

    ちょっと何言ってんのかわかない 前の記事 「関数型プログラミングはオブジェクト指向の正当な後継である」 前の記事を投稿してから2ヶ月ほど経ちました。その間に多くの方に読んでいただききましたが、twitterやブログでの反応を見ていると程度の差こそあれ「わからない所がある」という趣旨の記述をよく目にします。檜山さんの「キマイラ飼育記」はその代表です。 檜山正幸のキマイラ飼育記 「関数型プログラミングはオブジェクト指向の正当な後継なの?」 先の記事を取り上げていただいた上に、私が説明しきれなかったり、サボって書かなかった疑似コード等をつけて、丁寧に解説していただいています。 全くもってありがたい話ですが、残念ながら私の記事の後半について「ちょっと何言ってんのかわかない」と評されしまいました。 耳の痛い話ですが、まあ、私自身も万人に理解できるものが書けたとは思っていません。 そこで、今回はわかり

    「関数型プログラミングはオブジェクト指向の正当な後継である」がわからない理由 - Qiita
    kma83
    kma83 2017/04/20
    関数型プログラミング オブジェクト指向
  • 関数型プログラミングはオブジェクト指向の正当な後継である - Qiita

    この記事の補足を書きました。併せてご覧いただけると幸いです。 「関数型プログラミングはオブジェクト指向の正当な後継である」がわからない理由 対象読者 この記事はオブジェクト指向設計を格的に学びドメイン駆動設計や責務駆動設計等を実践したことがある人々に「オブジェクト指向と関数型プログラミングの関係」を深く知ってもらうことを目的としています。これらの人々の中には手に馴染んだオブジェクト指向に未だに固執している人や、関数型プログラミングが気になってSwiftScalaを触り始めているがイマイチ関数型プログラミングの質が見えていない人も多いと思います。そうした人々が次の一歩を踏み出すキッカケになれば幸いです。 なぜこの記事を書こうと思ったのか? IT系の情報サイト等で「Haskellがすごい」という記事を見かけるようになってからもう10年近く経とうとしています。私自身もこれまでに何度か関数型

    関数型プログラミングはオブジェクト指向の正当な後継である - Qiita
    kma83
    kma83 2017/04/20
    関数型プログラミング オブジェクト指向
  • 関数型プログラミングとは結局何なのか | 黒曜の吹き溜まり

    この記事はドワンゴ Advent Calendar 2014の14日目です。 ちなみに前日は@erukitiさんでした。 他の方は「こんなもの作ってみた!」系の記事が多いのですが、技術系の話題であれば特に縛りはないようなので、今回はひたすら文章をつらつらと綴っていきたいと思います。 ここ数年、「マルチコア時代の主流は関数型だ」とか「Javaはもう古い! 時代は関数型!」といった記事をよく見かけるようになった気がします。 大学でOCamlを学んできた自分としては嬉しい限りなのですが、なんだか関数型という言葉がバズワード的な使われ方をしている気がして、まるで「現在起こっている全ての問題を解決する銀の矢だ!」といわんばかりの雰囲気を感じるのが気になっています。 最近うちの部署でもにわかに「関数型っぽく書こう」みたいな機運が高まってることもあるので、この機に関数型プログラミングとはなにか、どのよう

    kma83
    kma83 2017/04/20
    関数型プログラミング
  • 関数型プログラミング入門 | POSTD

    多くの関数型プログラミングに関する記事が教えてくれるのは、抽象的な関数型のテクニックです。つまり関数合成やパイプライン、高階関数などです。この記事では違います。ここでは、プログラマが毎日書く、命令型で非関数型のコードの例を示し、それを関数型の形式へ書き換えます。 最初のセクションでは、短いデータ変換のループを取り上げ、map関数やreduce関数に書き換えていきます。2つ目のセクションではより長いループを取り上げ、ユニットに分解し、それぞれのユニットを関数型に書き換えます。3つ目のセクションでは、連続した長いデータ変換のループを関数型のパイプラインに分解します。 ここではPythonでの例を取り扱います。というのも多くのプログラマはPythonを読むのは簡単だと思っているからです。多くの例では、mapやreduce、パイプラインなどの多くの言語に共通する機能を例示するため、Python的な

    関数型プログラミング入門 | POSTD
    kma83
    kma83 2017/04/20
  • サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】

    ようこそ、サル先生のGit入門へ。 Gitをつかってバージョン管理ができるようになるために一緒に勉強していきましょう! コースは4つ。Git初心者の方は「入門編」からどうぞ。Gitを使った事がある方は「発展編」がおすすめです。さらに「プルリクエスト編」では、コードレビューする文化をチームに根付かせましょう。 「あれ?何だっけ…?」という時は「逆引きGit」で調べて見てくださいね。

    サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
    kma83
    kma83 2017/04/20
    git remote
  • Gitコマンドについて調べる【git add】 - Blog @kimromi

    git add ステージング領域に追加し、コミット対象にするコマンドです。 ファイル指定 $ git add [ファイルパス] ファイルをスペース区切りで複数指定することもできます。 $ git add readme1.md readme2.md ファイル形式指定 ワイルドカードが使用できます。カレントディレクトリ内でワイルドカードに一致するファイルがすべてaddされます。 $ git add *.md 複数指定も可能。 $ git add *.md *.txt ディレクトリ指定 ディレクトリ内のすべての変更がaddされます。指定したディレクトリ内の下の階層の変更もすべてaddされます。 $ git add [ディレクトリ名] こちらも複数指定ができます。 $ git add docs lib また、.(ドット)を指定するとカレントディレクトリ以下のすべての変更がaddされます。 $ gi

    Gitコマンドについて調べる【git add】 - Blog @kimromi
    kma83
    kma83 2017/04/20
    git add -u
  • 難しいGitコマンドは、仕組みから理解してみよう - Qiita

    こちらはLife is Tech ! Advent Calendar 2016 22日目の記事です。 自己紹介 こんにちは!先日GitHubのIDがha1fha1fからha1fになりました、はるふ(@_ha1f)と申します。 Life is Tech ! では、主にiPhoneコースのメンター・講師をしています。 記事について Gitについての記事は、世の中に多くあります。 gitコマンドの使い方 gitの仕組み gitを用いたプロジェクト管理・運用 subversionなどとの比較・歴史 など、テーマが色々有ると思いますが、記事では、gitについて、少し仕組みについて踏み込みながら、コマンドとの関連を説明します。 用語の確認の章は初心者向けの基礎編です。使い方わかる方は飛ばしてください! それ以降は、仕組みについて書きます。もちろん軽く使うだけなら仕組みを知る必要はないですが、自分は

    難しいGitコマンドは、仕組みから理解してみよう - Qiita
    kma83
    kma83 2017/04/20
  • 関数型プログラミングはまず考え方から理解しよう

    関数型プログラミングが注目されて久しいです。 そろそろ勉強しておかないとなぁということで調べてみるものの、情報として出てくるのは"高階関数","カリー化","遅延評価","モナド"などの物々しい単語の数々。これらを勉強して理解した気になったものの、プログラムを書こうと思うと全然書けませんでした。 結局、関数型言語を実現する手段を学ぶ前に関数型と言われるパラダイムを理解しないことには書けません。ということでここでは関数型プログラミングの"手法"ではなく、オブジェクト指向と関数型プログラミングを比較しながら考え方の違いを見ていきます。 日の例題 プログラミング課題を設定してオブジェクト指向と関数型で解答してみましょう。 課題: 唐揚げ弁当がいくつかあるとします。それぞれ唐揚げが複数入っています。 この中からx個の唐揚げをつまみいするプログラムを作りましょう。 つまみいはバレないようにする

    関数型プログラミングはまず考え方から理解しよう
    kma83
    kma83 2017/04/20
    関数型 functional