「関数型プログラミング」を含む日記 RSS

はてなキーワード: 関数型プログラミングとは

2018-08-15

https://anond.hatelabo.jp/20180815005242

古いスター見られないから新しくスクリプト書いた。listStarURLs(ユーザ名, ページ数)で与えられたユーザブクマを与えられたページ数まで見て自分starを押したブコメリストアップする。

https://pastebin.com/4TLHvyQB

これで出てきたスター一覧を上のスクリプトと組み合わせれば与えられたユーザ自分がつけたスターをお手軽に全削除できる。

Qiitaかなんかで「JSではforは使わず関数型プログラミングが素晴らしいのだ!(ドヤァ」という記事に「いやいや逐次awaitしたいときそれじゃ困るんだよ(キリッ」みたいなブコメがついてて大変生暖かい気持ちになったことを思い出したのでfoldしてみたけどあのときブコメしていた関数()フロントエンド()プログラマー(笑)の皆さんは別に見てはないだろうなw

2018-08-10

anond:20180810151521

関数型プログラミング使ってないでしょ?

バリバリに使ってるが

実務でプログラム仕様検討なりレビューなりするときに、お前みたいなこと言いだすやつがいるとしたら邪魔しか無いが、関数型プログラミングで何作ってる人なんだ?

2018-03-19

anond:20180319171116

私がUNIX哲学を知ったのは、Elixirの本の冒頭に紹介されていたからでした。

UNIX哲学関数型プログラミング親和性が高いと思いました。

 

構造プログラミング関数型プログラミング対応

 

関数型の基本は、小さな関数をつなぎ合わせて大きな処理を組み立てること。これは関数型でなくても真似できると思います

とか?私も試行錯誤中。それでも以前よりは設計で迷うことが少なくなりました。

 

設計に関するノウハウカタログみたいな本だと、↓この本がわりとまとまっていました。(1つ1つの項目の解説は少しなので、詳細は元ネタを当たることになります。元々はブログを本にしたようでしたが、今は閉鎖されてます。)

2018-01-23

特技=コア・コンピタンスがないと、他に何をやってもダメ!?

器用貧乏に陥らないようにしたい。

まずは自分の特技を確立して、その周辺技術を固めると、鉄壁の城を築けるだろう。

自由プログラミングを学べる時間があるなら、関数型プログラミングをかじっておいて欲しい。

 

関数型プログラミング 学習カリキュラム

OCaml

関数型プログラミング言語はいろいろありますが、基本を学ぶために、良い教材がある「OCaml」がお勧めです。

この本は、独学で関数型プログラミングの基礎を学ぶのに最適だと思います

 

Elixir

関数型プログラミング言語で、実用的なアプリ作ってみたいですよね?

Webアプリを作るのに「Elixir」という関数型プログラミング言語を使ってみませんか?

 

Pleroma

Elixirの使い方を学んだら、Twitterのような「Pleroma」というSNSを設置して、カスタマイズしてみましょう。

 

Phoenix Framework

Elixir、Pleromaで遊んだら、PhoenixオリジナルWebサービスを作ってみましょう。

 

副業

プログラミングを学んだら、まずは副業を始めてみましょう。

英会話ができるなら、欧米企業リモートワークをやれば給料も良いです。

(参考)https://anond.hatelabo.jp/20180112130526

私も機械学習ではなくシリコンバレーで働くWebエンジニアだけど、年収は43万ドルくらいだ。日本円にすると4800万円くらいだろうか。

付記 

うーん、ここまで書いて、これは素人最初に着手するべき事柄じゃないなーと反省。消すのももったいないか投稿しておきます

 

最初にやるなら、やっぱPythonかな?(最近話題AIでも、バインディング言語としてPythonが人気だし)

 

本屋で分かりやす入門書を探して、「これなら自分でもできそう」と思える本があれば、それをやってみたら良いと思います

そこで得た知識を足掛かりとして、次のステップに進める?

 

ゲーム制作

最初テーマは、「ゲーム」を作ってみるのはどう?

遊びながら学べるからプログラミングが楽しめると思います

言語ゲームを作ってみよう!的な本はチラホラあるようだから、それでいける?

 

anond:20180117031306

anond:20180123190750

2018-01-14

SEに知っておいて欲しいこと

日本システムエンジニアが成長して、日本経済の発展に貢献して欲しい。

SEに役立つ知識を考えてみる。

勉強法

勉強は(1)興味、(2)教材、(3)時間、の3つがあれば誰でも一定の成果は出せる。(1)がなければ(2)(3)は宝の持ち腐れになる。

心理的安全性

社長リーダー仕事はお膳立て=メンバーが働きやす環境を整えること。「心理的安全性」を確保。

コミュニケーション

ステークホルダーと円滑な対応ができるように、アサーティブコミュニケーション、DESC法を体得。

プロジェクトマネジメント

段取り八分」=仕事ができるやつは段取りができてる。PDCA、OODAで計画を実行。

関数型プログラミング

組合せ爆発でテスト地獄に陥らないように、副作用を分離&管理しておく。

英語

ITの文献は英語が多いので、最低限英語ドキュメントはスラスラ読める程度に英語練習

事業の育て方

作る前、作る最中、作った後のプロセスを知っておく。

 

不勉強人とは一緒に仕事をしたくないからね?(足手まとい)

2017-11-24

再帰を使う理由

プログラミングには様々なパラダイム(考え方)があります

 

構造プログラミングでは

  1. 順次
  2. 分岐(if)
  3. 反復(for、while)

命令を並べます

 

同じことを関数型プログラミングでは

  1. 順次:(関数の)合成
  2. 分岐パターンマッチ
  3. 反復:再帰

で実現することができます

 

両者の違いは、代入の有無=参照透過性の有無の違いです。

関数型プログラミングでは基本的に代入なしで処理します。そのため反復回数をカウントする変数カウントアップを代入しなくても、終了条件を指定して再帰処理を行えば反復できます。(反復のカウント変数がない代わりに、関数型の「再帰」では必要に応じて「アキュームレーター」という仕組みを使って、途中の計算結果を保持することもできます。)

再帰で繰り返しを表現するのは、関数型プログラミングの側面を出した説明と言えるのでないでしょうか?

 

関数型プログラミング入門書として「プログラミングの基礎」という本が分かりやすいです。

https://www.amazon.co.jp/dp/4781911609

2017-11-05

Webフレームワーク選定の悩み

Webアプリを作るとき何を基準にしてプログラム言語Webフレームワークミドルウェアを選定していますか?

RailsCoC:convention over configuration)以外の手法活用して、開発を高速化するにはどうすれば良いでしょうか?

 

希望条件

  1. 素早いプロトタイピングscaffold機能など
  2. テストコスト削減:関数型プログラミングモジュール手法
  3. 性能:コンパイル型の言語

…こういう条件を備えていれば良いかな?

 

フロントエンド

  1. JSGUI作成Vue.js等のSPAフレームワーク

 

バックエンド

  1. データ永続化ストレージCRUD機能を用意できれば何でも良い?

 

試作

  1. Railsプロトタイプを作りデザインスプリント実践

 

本番

  1. 形が決まったらGolangGCPで作り直して本番投入

プロトタイプを作り直す手間を省きたい。プロトタイプと本番を同じツールで作りたい。)

 

サーバーAWSバックエンドElixir/Phoenixフロントエンド:Elmという組合せはあまり盛り上がっていないようなので、Rails代替手段は何が良いのか?気になります

2017-10-26

プログラマーのススメ

日本人は全員プログラミング勉強した方が良い。

プログラミング簡単だし、IT企業なら開業資金も少額で済む。(最初パソコン回線プリンターがあれば十分)

 

自己資金で数カ月で軌道に載せれるようなネタしかできない。

 

IT起業の道のりを教えてあげるよ。

  1. 下請け他人が作って欲しいものを作って納品する=資金を増やす自転車操業の段階。
  2. 自社開発:自分で作りたいものを作って売る=自転車操業からストックビジネスに移行する。
  3. レベニューシェア下請けと自社開発の中間ビジネスモデル

 

増田投稿できるってことは、パソコンぐらい持ってるんだろ?

本屋図書館に行って、自分に合った分かりやすプログラミングの本を探してみよう。

 

仕事を取ってくる方法は、ソニックガーデンのやり方を参考にしたら良い。 https://www.sonicgarden.jp/

プログラミング入門

最初に1冊だけ推薦するなら「プログラミングの基礎」という本をお勧めする。 https://www.amazon.co.jp/dp/4781911609/

買う前に、著者のサポートページを見てみると良い。

 

プログラミングパラダイム(考え方)には4種類ある。(【】内は基礎となる計算モデル

計算可能理論で見ると、どれもノイマン型のCPU上で動作する点で同じと言えば同じと言える。(優劣はない)

ただ、筋の良いプログラミング作法を身に付けたいなら、最初関数型を理解しておくことをお勧めする。

関数型の中で一番簡潔かつ強力なのはOCaml」というプログラミング言語だ。(HaskellをやりたければOCamlの次に学ぶスムーズ理解できる。)

関数型言語を学んだ後なら、手続言語はすぐに習得できるだろう。

WEB開発

WebサービスWebアプリを作るのは簡単

  1. HTML
  2. CSS
  3. JavaScript
  4. PHP
  5. MySQL
  6. Linuxサーバー構築)
  7. TCP/IPネットワークセキュリティーの基礎知識

を学べば作れるようになる。3か月勉強すればものになるよ?

 

Webアプリの特徴は、システム構造ネットワークを介して「サーバー側とクライアント側」に分割されていること。(REST - Wikipedia

Webアプリを作るってことは、一言で言えば、データベースラッパーCRUD)を作るだけの話。

アプリ開発

スマホアプリは、GUIの仕組みが分かれば簡単に作れる。

iPhoneアプリ

iPhoneの仕組みは糞だから後回しにしてもOK

XcodeじゃなくてAppCodeで作れるような段階に成熟したら手を出しても良い。

まあ、iPhoneアプリは金のためなら避けられない道だと思うので、苦労覚悟で取り組んでほしいw

Androidアプリ

Androidの中身はLinuxJavaアプリを開発できる。今ならJetBrainsIDEKotlinで楽々開発できる。

日本じゃAndroid貧乏しか使ってないので、あまり金にならないかも。

資金集め

お前偉そうなこと言うのなら、誰か起業してやろうというやつにガッツリ寄り添って手伝ってやりな。

俺はハゲタカじゃないから、無知な奴から搾取することはしない。

というか、自分のことで精一杯だから他人のケツ拭いまでやる体力・気力・理由がないw

 

他人から金をもらうと相手支配下に置かれる。だから資金調達お勧めしない。

自己資金で行けるところまで行って、ダメならまた社畜生活に戻ればいいだけの話。(パソコンインターネットがなくならない限り、プログラマーならIT業界で食っていける)

 

俺は、NPO法人とか社会起業しようとしてる奴だけ無償で手助けすることにしている。(プロボノ

社会起業家は、社会変革の担い手として、社会課題を、事業により解決する人のことを言う。

社会問題認識し、社会変革を起こすために、ベンチャー企業創造組織化経営するために、起業という手法を採るものを指す。

プロボノ(Pro bono)は、各分野の専門家が、職業上持っている知識スキル経験を活かして社会貢献するボランティア活動全般。また、それに参加する専門家自身

 

おまえが将来、社会起業することがあったら増田で呼びかけてくれ。

増田で返答できる範囲アドバイスするよ。頑張れ!

 

(追記)プログラミングパラダイムの4分類は「日経ソフトウェア」という雑誌説明表記しました。

ちなみにSQLチューリング完全なので、問合型言語でもプログラミング可能です。 https://qiita.com/utgwkk/items/20e887645da18e460fee

かに俺は理系だが情報学出身じゃない。独学でプログラミングを学びました。技術的な誤りがあったらブコメで教えてw(夜露死苦

 

(追記2)マイクロソフト関数型言語F#」は、OCamlベースにして開発されました。

現在マイクロソフトで開発中の量子コンピューターではF#が動く予定だそうです。(将来OCaml知識が役に立つでしょう) http://ascii.jp/elem/000/001/569/1569477/

 

(追記3 10/28ブコメレス全部拝見しました。様々なご意見・ご指摘をいただきありがとうございます。大変参考になりました。

「何か既視感があるな」と思ったら、最近ホリエモンが「保育士は誰でも出来る仕事」と言って炎上してたのと似てますね?→「プログラミング簡単」(プログラマーは誰でも出来る仕事

プログラミング学習や実務で苦戦されている方が多いようですね? だとすれば、それを改善支援するサービスニーズがありそう。

具体的にはディアゴスティーニ雑誌みたいに「週刊 プログラミングゲームを作る」みたいな教材があればいい。

https://deagostini.jp/

拝承いたしました。(微力ながら、皆様のお役に立てるよう作ってみたいと思います。)

 

(追記4 10/28OCaml関数型言語メリットについて

ちょっと前に岡部健氏(通称:毛の壁、kenokabe)が、関数型言語を巡りQiita等で論争を巻き起こしていましたが、俺は是々非々岡部氏の意見に一部賛同していました。(全部じゃない)

関数型言語を難しいものとして敬遠するのではなく、まずは使ってみて便利だったら嫌う必要はないと考えています

構造プログラミング命令型、手続型)との対応で言えば、関数型プログラミングは再代入なしでも、

で同じことができます。(優劣はない)

最初関数型プログラミング習得しておけば、参照透過性に注意を払う癖が身につき、テストときに「組合せ爆発」を少なくできます

関数型言語はたくさんありますが、OCamlが良いと思ったのは(自分にとって)分かりやすい教材が揃っており、学習コストが低いと思ったからです。

プログラミングを学ぶとき、独学ではなく、周りに聞ける人がいるなら他の言語でもOKです。

 

(追記5 10/28)「iPhoneの仕組みは糞」=storyboardが使いづらいと思いました。あくま個人の感想なので、Apple関係者信者の方はスルーしていただければ幸甚です。(Swift開発者クリスラットナー氏は、Appleからテスラ転職してしまいましたが、今後もAppleObjective-CからSwiftへの移行を押すのでしょうか?)

幸いiOSアプリ開発は分かりやす教科書がたくさんあるので、初心者でも心配無用です。iOSアプリ開発は(最初簡単なので)気軽に始めてみてくださいw

2017-09-11

まずは自分がプログラマーになってみよう!

山本五十六名言「やってみせ」

やってみせ、言って聞かせて、させてみせ、ほめてやらねば、人は動かじ。

話し合い、耳を傾け、承認し、任せてやらねば、人は育たず。

やっている、姿を感謝で見守って、信頼せねば、人は実らず。

まずは、あなた自身プログラマーになって、見本を見せることが第1歩です。

プログラマーに向いている性格

その後受託系の会社就職できたのだけど、人間関係がうまくいかなかったようで数ヶ月で辞めた。

鬱病気味になったみたい...。

どうやら、プログラミングという仕事の特徴について、あなた理解していないようですね?

 

プログラミングの特徴は、「コンピューター相手なので、嘘やハッタリが一切通用しない」ということです。

人間相手なら、適当に指示を出したり、いい加減な対応でも何とかなるけど、コンピューター相手だと1mmも融通が利きません。

 

従って、プログラマーに向いている性格は、

  1. 嘘をつかない
  2. 几帳面
  3. パズルを解くのが好き

という3点が必要です。

 

警察職務質問されて有名になった江添亮さんのブログ等を読んで、この方のようにネチネチと論理をこねくり回すのが好きなら、プログラマーに向いています

(例)本の虫: 麻布十番職務質問を受けた話 https://cpplover.blogspot.jp/2017/08/blog-post.html

関数型プログラミング

プログラムというのは、小さな部品を組み合わせて、大きなシステムが作られています

さな部品パズルピースに相当して、大きなシステムパズルの完成品です。

まり、大きな問題を小さな問題に分解して、1つずつ順番に問題をつぶして行く姿勢必要です。

 

プログラミングパラダイム(考え方)には、

  1. 命令
    1. 手続き型(Java等)
  2. 宣言
    1. 問合せ型(SQL等)
    2. 関数型(Haskell等)
    3. 論理型(Prolog等)

があります

 

命令型のプログラミング言語しか使えない人がプログラマーになると、テスト地獄に陥って、結果的鬱病発症やすくなるだろうと危惧しています

上述のように、パズルピースを組み合わせてプログラムを作るには、「関数型」の作法を身に付けておくと良いでしょう。

Haskell

関数型プログラミング習得するために、今なら「Haskell」または「OCaml」というプログラミング言語お勧めします。

HaskellOCamlは、良い参考書がたくさんあるので、本屋に行って実物を確かめてください。

 

Haskellを学んでみて、パズルピースを組み合わせる感覚理解できたら、あなたテスト地獄に苦しめられないプログラマーになれるでしょう。

もしも、Haskell理解できないようだったら、残念ですがプログラマーには向いていないかもしれません。

例外的に、あなたマゾで、テスト地獄残業徹夜楽しいと思える性格なら、Haskell理解できなくても大丈夫かもしれません。)

 

Haskellの教材(英語)を紹介するので、参考までに読んでみてください。

http://learnyouahaskell.com/chapters

(このサイトの内容は、日本語書籍「すごいHaskellのしく学ぼう!」として出版されています。)

 

Haskellは、順番に学べば必ず理解できるようになっています

もしも、Haskell習得できなければ、大きな問題を小さな問題に分解して解決していく作業には不向きな性格かもしれないので、他の仕事検討してはいかがでしょうか?

人生は一度きり。時間無駄にならないようにお気を付けください。)

 

あなたと友人が、無事Haskell習得して、テスト地獄を乗り超えるスーパーハッカーになり、日本IT産業を牽引されることに期待いたします。

 

(追記)

まずは、自分が作りたいアプリサービスを作ってみよう。

自分が作りたいプログラムすら作れない人が、他人希望するプログラムを作るなんてできっこいからねw

プログラマーが楽で簡単仕事だと思ったら大間違いですよ?)

 

(追記 その2)

関数型プログラミングマスターしておけば、OOPでも役に立つよ。(現実には、関数型もOOP必要に応じて投入するし)

iOS→「プロトコル指向プログラミング」「RxSwift」、Android→「RxJava」辺りのキーワードでググってみて。

別に皮肉とか宗教戦争で煽ってるわけじゃなくて、自分も苦労して辿りついた口だから、今から始める人には遠回りして、余計な苦労を味わって欲しくない。

 

(追記 その3)

他の人が書いてたけど、1人でプログラミングするんじゃなくて、2人(ペアプログラミング)や3人以上(モブプログラミングから始めたら良いかも。

Googleの「プロジェクトアリストテレス」で、仕事生産性改善するには「心理的安全性」が重要と分かり、プログラミング仕事もやり方が変わって来ています

ソニックガーデン倉貫さんの働き方が参考になると思います

https://kuranuki.sonicgarden.jp/2017/01/psychological-safety.html

 

(追記 その4)

記事が消えていたのでバックアップしておきます。(この投稿だけ読むと意味が分からなくなるため)

https://anond.hatelabo.jp/20170910205249

2017-09-10

■知り合いをプログラマにさせたいんだけど知恵を貸してくれ

プログラマって育休からの復帰しやすいだろうし、アルバイトよりは待遇いいし、勤怠ゆるいし、労力の割に楽ちんだと思うんだよね。

接客バイトで消耗するくらいなら、プログラマになればいいと思っているのだが、その知り合いは自身のことをプログラミングを不向きと評価しているらしい。私は、プログラミングに限らず物事時間をかければ習熟していくものだと思っているので、不向きではないと思うんだ。不向きというのは物理的に制限のある時だと思う。

その知り合いについて。

Vimはぎこちないけど使える。日常的にmacOSを使っていてターミナル操作はできている。cd, ls あたりは理解している。

趣味を含めてアプリケーションを完成させた経験はないが、ifやfor文などの基本構文は理解している。数年前にプログラミングスクールのようなところに半年間通っていた。その後受託系の会社就職できたのだけど、人間関係がうまくいかなかったようで数ヶ月で辞めた。鬱病気味になったみたい...。

何か成功体験があれば自然とのめり込んでと思うんだけどなかなかスイッチが入っていないみたい。

こちら側からは、プログラマーになれば?と直接は伝えてはなくて、素人でもプログラミングできましたみたいなネット記事シェアーしているくらい。(心理的リアクタンス避け)

知恵を貸して欲しい。

2016-05-25

http://anond.hatelabo.jp/20160521163144

ReactはJavaScript界隈の関数型プログラミング化の潮流で登場。

最近炎上している別の方面で、特にFRPと組み合わせると圧倒的なパワーを発揮すると一部では実例とともに指摘されている。

http://kenokabe-techwriting.blogspot.jp/2016/05/frptimeenginereactjsocaml.html

Reactは、関数型あるいは宣言型に書けるように用意されている。DOMは、「仮想DOM」として、JSJSX)上の「値」として統合されていて、それは自由に変形し、組み合わされ、リアクティブJSX上の仮想DOMからDOMリアルタイムマッピングされ描写される。

JQueryも、実DOM関数型で操作できるような拡張ではあるが、Reactのように宣言的に書くことは不可能

coffee scriptは、ES6登場までの過渡期の橋渡しみたいなもので、登場したのも消えたのも合理性がある。

React.jsは、関数型の潮流で登場したものでこれも合理性があり、この延長線上でさらに洗練された代替物が登場する可能性はあれど、このパラダイムが消えることはない。

2016-05-24

http://anond.hatelabo.jp/20160524120445

現実岡部氏を高く評価している特定の人たちも知っていますが、住井某その他の強弁に騙されるような馬鹿プログラマーばかりではないということです。

関数型プログラミングはまず考え方から理解しよう

http://qiita.com/stkdev/items/5c021d4e5d54d56b927c

とか、まさに岡部氏の路線のものじゃないですか。

Qiitaにこのような記事が登場するまで長い時間がかかりました。

なんとかFAQが参考になる、なんてもう誰も思ってないのでは?

2016-05-23

http://anond.hatelabo.jp/20160520110314

関数型プログラミング特権として考えていない前時代プログラマー

okabbe氏にGUIアプリ書けるのか?と詰め寄られてもなんともできない

もっとも裏では2ちゃんねるQiitaの裏アカウントで暗躍してるみたいだけど

2016-05-21

http://anond.hatelabo.jp/20160521163144

まずReactの特徴は、「状態データから変換してビューを生成する」スタイル統一されることにある。

これはjQueryをはじめとするDOM操作モデルでの、「初期状態ビューの作成」と「(イベントに伴う)状態変化からの部分ビュー変更」で構成するスタイルから脱却され、たとえば部分処理の積み重ねから想定外状態が生まれることを防ぐ。

SPAは、クライアントが自立した1プログラムとして状態管理する。サーバUIと同様の非同期なイベント発生源/イベント発行先の一つとして扱う。またReactとReduxの組は、データベースサーバサーバサイドページ生成のスタイルを、サーバブラウザでやるようにシフトさせたものともみなせるだろう。

そしてReact自体には、JSX構文もbabelもいらない。JSXタグを書くよりむしろReact.DOM.div({...},...)等で書いたほうがプログラミングでは扱いやすい。JSXサーバサイドページ生成のテンプレート言語利用文化に寄せた表現に過ぎないといえる。そして今ではbabelで変換する対象もES6 modulesのexport/importだけだ。これも分割ファイル対応のためにwebpackあたりを使うなら、ついでにbabelでES6 modulesも、といった程度のこと。

すでに一般に忘れられつつあるprototype, Dojo, Mooと同格であるjQueryのほうが五年後も活発にメンテされるのかどうか怪しいだろう。もちろん、レガシーものとしては残り続けるだろうが。

Reactのモデル関数型プログラミングモデルのものであって、そういう観点ではすでに何年も続いたものであり、React自体は消えたとしてもその手法は長く続くことになる。

2016-05-20

http://anond.hatelabo.jp/20160520072553

住井さんをはじめ、岡部さんが批判する相手は、議論となっている関数型プログラミング定義などが、まるで世界的に合意がされており岡部さんのみが異端だという主張ばかりしており、あまり

信用できません。

観測できる事実、という言葉を借りるなら、この住井氏の所属や業績を踏まえると、世界合意という観点で言えば圧倒的に住井氏に分がある印象を受けます

明らかに国内のみがフィールドの人じゃないですしね。

一方、岡部氏には世界はおろか、日本国内でもキャリアと言えそうな業績は何一つ無さそうです。論文も講演実績も無さそうですね。

700円のiOSアプリは公開していたようですが、これは特筆性に乏しいですね。

あと、さすがに国内の一部のコミュニティー圧力で、大多数の人間圧力を恐れて発言できないんだ、

という主張には無理がありませんか。

それほど大多数に支持される言説ならば何も恐れることもないですし。

だって住井氏などの言説は「少数派」というのが岡部氏の主張なんですから

そもそも日本学者はそんな弱い人ばかりじゃないですよ。

変わり者も多いですし、

住井氏が明らかにおかしなことを言っていたら、とっくに批判する学者の二人や三人は出てきます

特に住井氏は海外でも活動されているので、そんな「世界合意」の得られていない事を言い放ってたら死活問題に発展するでしょう。

http://anond.hatelabo.jp/20160519175956

観測できる事実として、岡部さんと住井さん、nonstarteさんの振る舞いが目立ってきた頃から

国内ネットでは、地雷、滅多なことを言わないほうがいいという風潮がありました。

しかも、「純粋関数型」が何か?というさえ、海外では関数型プログラミング界隈の著名人

たとえば岡部さんが引き合いに出す論文エリオットはじめ、合意が取れていません。

http://conal.net/blog/posts/the-c-language-is-purely-functiona

「nonstarter氏や住井教授のようなエントリの内容は、日本国内でのみ少数の合意が得られてるに過ぎず、海外では主流ではない。」

よって、これは岡部さんのほうが公平な現実について発言しており、が正しいと判断します。

住井さんをはじめ、岡部さんが批判する相手は、議論となっている関数型プログラミング定義などが、まるで世界的に合意がされており岡部さんのみが異端だという主張ばかりしており、あまり信用できません。

http://anond.hatelabo.jp/20160520061937

>>(関数プログラミングで書けるということの恩恵はもちろんあるとしても)。

>これもどういう意味なのか全く意味がわかりません。

いわゆる参照透明性が成り立つ(副作用がない)から式やプログラムの変形が容易とか、

関数型プログラミング基本的メリットですが、理解できないのは相手が間違っている

自分が正しい)と決めつける理由は何なのでしょうか……

2016-05-16

http://anond.hatelabo.jp/20160516174234

FRPって関数型プログラミング+リアクティブプログラミングでしょ?

そんで、リアクティブプログラミングって、

__drawFrom.t = {
        x: e.clientX,
        y: e.clientY
      };

みたいなグローバル変数を書き換えるコード自分で書くんじゃなくて、

この変数とこの入力欄/入力ボタンは結びついてます、って書くだけで、フレームワーク利用者に見えないところで、自動的更新してくれる仕組みだよね?

既存FRPライブラリってそうじゃない?

自分イベント拾ってグローバル変数書き換えてたらFRPじゃないよね?

違う?

http://anond.hatelabo.jp/20160516161429

正確には、

関数型って時間パラメータで与えて結果を得るんじゃないの」とか意味不明なこといってる馬鹿がいて、

hoge.t あるいは、date.now やらで指定してたインデックスというのは、関数型プログラミング文脈からインデックスが得られるんだとさ。

初期値0からはじまる時無限再帰カウントから、どうやって時刻を得るパラメータが得られるのか、頭のおかしい奴の考えるコード想像不能。

http://anond.hatelabo.jp/20160302090242

ああ。住井@東北大かな?

>(分析哲学ではなく関数型言語意味で)参照不透明なので、関数型プログラミングメリット享受できない、命令型の破壊的代入と等価ですね。

君の役にもたたない机上の空論は皆そろそろ聞き飽きていると思うので、適当なハッタリではなく、timeengine(FRP)がいったいどのような局面で、参照不透明名実ともになり「破壊的代入」のデメリット顕在化し、関数型プログラミングメリット享受できなくなるのか、具体的に示せよ?100%無理だろうけどね。机上の空論じゃないなら、やれるもんならやってみな?w

http://anond.hatelabo.jp/20160516112619

ああ。住井@東北大かな?

>(分析哲学ではなく関数型言語意味で)参照不透明なので、関数型プログラミングメリット享受できない、命令型の破壊的代入と等価ですね。

君の役にもたたない机上の空論は皆そろそろ聞き飽きていると思うので、適当なハッタリではなく、timeengine(FRP)がいったいどのような局面で、参照不透明名実ともになり「破壊的代入」のデメリット顕在化し、関数型プログラミングメリット享受できなくなるのか、具体的に示せよ?100%無理だろうけどね。机上の空論じゃないなら、やれるもんならやってみな?w

http://anond.hatelabo.jp/20160516112619

ああ。住井@東北大かな?

>(分析哲学ではなく関数型言語意味で)参照不透明なので、関数型プログラミングメリット享受できない、命令型の破壊的代入と等価ですね。

君の役にもたたない机上の空論は皆そろそろ聞き飽きていると思うので、適当なハッタリではなく、timeengine(FRP)がいったいどのような局面で、参照不透明名実ともになり「破壊的代入」のデメリット顕在化し、関数型プログラミングメリット享受できなくなるのか、具体的に示せよ?100%無理だろうけどね。机上の空論じゃないなら、やれるもんならやってみな?w

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん