Submit Search
Upload
関数型を盲信するその前に
•
1 like
•
635 views
H
hajikami
Follow
第1回 Scala 関西勉強会 LT
Read less
Read more
Technology
Report
Share
Report
Share
1 of 16
Download now
Download to read offline
Recommended
もがいているエンジニア集まれ~今度こそ英語をモノにしよう~
もがいているエンジニア集まれ~今度こそ英語をモノにしよう~
Kiyotaka Kunihira
Functional Programming (で遊ぶ)
Functional Programming (で遊ぶ)
Rakuten Group, Inc.
20170114 lod challenge
20170114 lod challenge
zuhitoslide
C#とaop
C#とaop
Hiroshi Maekawa
No more Legacy documents
No more Legacy documents
bleis tift
新入社員のRPA奮闘記
新入社員のRPA奮闘記
SatokoYoshida3
プログラミング言語は怖くない
プログラミング言語は怖くない
Shoichi Matsuda
コードゴルフのススメ(C言語)
コードゴルフのススメ(C言語)
Fumihito Yokoyama
Recommended
もがいているエンジニア集まれ~今度こそ英語をモノにしよう~
もがいているエンジニア集まれ~今度こそ英語をモノにしよう~
Kiyotaka Kunihira
Functional Programming (で遊ぶ)
Functional Programming (で遊ぶ)
Rakuten Group, Inc.
20170114 lod challenge
20170114 lod challenge
zuhitoslide
C#とaop
C#とaop
Hiroshi Maekawa
No more Legacy documents
No more Legacy documents
bleis tift
新入社員のRPA奮闘記
新入社員のRPA奮闘記
SatokoYoshida3
プログラミング言語は怖くない
プログラミング言語は怖くない
Shoichi Matsuda
コードゴルフのススメ(C言語)
コードゴルフのススメ(C言語)
Fumihito Yokoyama
さっぽろ保育園マップ これからどうしよう?
さっぽろ保育園マップ これからどうしよう?
Mayumit
はじめての生成文法 《後編》
はじめての生成文法 《後編》
Shuyo Nakatani
Pull Request & TDD 入門
Pull Request & TDD 入門
ESM SEC
文脈自由文法の話
文脈自由文法の話
kogecoo
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
Shirou Maruyama
研究発表のためのプレゼンテーション技術
研究発表のためのプレゼンテーション技術
Shinnosuke Takamichi
深層学習時代の自然言語処理
深層学習時代の自然言語処理
Yuya Unno
たとえ日本人同士でも必要な異文化理解力
たとえ日本人同士でも必要な異文化理解力
Yoshitaka Kawashima
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
MOCKS | Yuta Morishige
これまでの日本語の話をしよう
これまでの日本語の話をしよう
hajikami
ふつうの人こそ、ちょっと発表してみたらいいと思う
ふつうの人こそ、ちょっと発表してみたらいいと思う
hajikami
サラリーマンプログラマと2つ目の武器
サラリーマンプログラマと2つ目の武器
hajikami
言語交換SNS Lang-8 で8ヶ月間外国語を書き続けてみた
言語交換SNS Lang-8 で8ヶ月間外国語を書き続けてみた
hajikami
How To Enjoy Lang-8
How To Enjoy Lang-8
hajikami
言語交換SNS Lang-8 で4ヶ月間英語を書き続けてみた(Web公開版)
言語交換SNS Lang-8 で4ヶ月間英語を書き続けてみた(Web公開版)
hajikami
インデックスのおはなし
インデックスのおはなし
hajikami
Nom de fonction français
Nom de fonction français
hajikami
わかるようにする
わかるようにする
hajikami
PHP5技術者認定初級試験を受験しました
PHP5技術者認定初級試験を受験しました
hajikami
プレゼンの方法(ただし5分に限る) web公開版
プレゼンの方法(ただし5分に限る) web公開版
hajikami
魔法を使わないプログラミング(web公開版)
魔法を使わないプログラミング(web公開版)
hajikami
5分でわかるPHPのクロージャ(web公開版)
5分でわかるPHPのクロージャ(web公開版)
hajikami
More Related Content
Viewers also liked
さっぽろ保育園マップ これからどうしよう?
さっぽろ保育園マップ これからどうしよう?
Mayumit
はじめての生成文法 《後編》
はじめての生成文法 《後編》
Shuyo Nakatani
Pull Request & TDD 入門
Pull Request & TDD 入門
ESM SEC
文脈自由文法の話
文脈自由文法の話
kogecoo
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
Shirou Maruyama
研究発表のためのプレゼンテーション技術
研究発表のためのプレゼンテーション技術
Shinnosuke Takamichi
深層学習時代の自然言語処理
深層学習時代の自然言語処理
Yuya Unno
たとえ日本人同士でも必要な異文化理解力
たとえ日本人同士でも必要な異文化理解力
Yoshitaka Kawashima
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
MOCKS | Yuta Morishige
Viewers also liked
(9)
さっぽろ保育園マップ これからどうしよう?
さっぽろ保育園マップ これからどうしよう?
はじめての生成文法 《後編》
はじめての生成文法 《後編》
Pull Request & TDD 入門
Pull Request & TDD 入門
文脈自由文法の話
文脈自由文法の話
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
研究発表のためのプレゼンテーション技術
研究発表のためのプレゼンテーション技術
深層学習時代の自然言語処理
深層学習時代の自然言語処理
たとえ日本人同士でも必要な異文化理解力
たとえ日本人同士でも必要な異文化理解力
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
More from hajikami
これまでの日本語の話をしよう
これまでの日本語の話をしよう
hajikami
ふつうの人こそ、ちょっと発表してみたらいいと思う
ふつうの人こそ、ちょっと発表してみたらいいと思う
hajikami
サラリーマンプログラマと2つ目の武器
サラリーマンプログラマと2つ目の武器
hajikami
言語交換SNS Lang-8 で8ヶ月間外国語を書き続けてみた
言語交換SNS Lang-8 で8ヶ月間外国語を書き続けてみた
hajikami
How To Enjoy Lang-8
How To Enjoy Lang-8
hajikami
言語交換SNS Lang-8 で4ヶ月間英語を書き続けてみた(Web公開版)
言語交換SNS Lang-8 で4ヶ月間英語を書き続けてみた(Web公開版)
hajikami
インデックスのおはなし
インデックスのおはなし
hajikami
Nom de fonction français
Nom de fonction français
hajikami
わかるようにする
わかるようにする
hajikami
PHP5技術者認定初級試験を受験しました
PHP5技術者認定初級試験を受験しました
hajikami
プレゼンの方法(ただし5分に限る) web公開版
プレゼンの方法(ただし5分に限る) web公開版
hajikami
魔法を使わないプログラミング(web公開版)
魔法を使わないプログラミング(web公開版)
hajikami
5分でわかるPHPのクロージャ(web公開版)
5分でわかるPHPのクロージャ(web公開版)
hajikami
More from hajikami
(13)
これまでの日本語の話をしよう
これまでの日本語の話をしよう
ふつうの人こそ、ちょっと発表してみたらいいと思う
ふつうの人こそ、ちょっと発表してみたらいいと思う
サラリーマンプログラマと2つ目の武器
サラリーマンプログラマと2つ目の武器
言語交換SNS Lang-8 で8ヶ月間外国語を書き続けてみた
言語交換SNS Lang-8 で8ヶ月間外国語を書き続けてみた
How To Enjoy Lang-8
How To Enjoy Lang-8
言語交換SNS Lang-8 で4ヶ月間英語を書き続けてみた(Web公開版)
言語交換SNS Lang-8 で4ヶ月間英語を書き続けてみた(Web公開版)
インデックスのおはなし
インデックスのおはなし
Nom de fonction français
Nom de fonction français
わかるようにする
わかるようにする
PHP5技術者認定初級試験を受験しました
PHP5技術者認定初級試験を受験しました
プレゼンの方法(ただし5分に限る) web公開版
プレゼンの方法(ただし5分に限る) web公開版
魔法を使わないプログラミング(web公開版)
魔法を使わないプログラミング(web公開版)
5分でわかるPHPのクロージャ(web公開版)
5分でわかるPHPのクロージャ(web公開版)
Recently uploaded
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Recently uploaded
(9)
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
関数型を盲信するその前に
1.
関数型を盲信するその前に @hajikami 13/Dec./2014 第1回 Scala関西勉強会
2.
13/Dec./2014 関数型を盲信するその前に @hajikami 2 自己紹介 ●
@hajikami ● 業務系システムの人 – ここ一年、ろくにプログラムを書いていない ● 英語をぼちぼち – TOEIC は 750 点ぐらいで安定中 – 今は Pokémon をプレイしています。英語で ● 最新作は、日本で普通に買ったら、英語でも選べるよ!
3.
13/Dec./2014 関数型を盲信するその前に @hajikami 3 目次 1.はじめに 2.言いたいことの5割ぐらいを書いたスライド 3.オブジェクト的
と 手続き的 と 関数的 4.学習コスト と その他ごちゃごちゃ 5.関数型のメリット 6.もっかい、学習コスト 7.まとめ
4.
13/Dec./2014 関数型を盲信するその前に @hajikami 4 はじめに ●
このLTは、色々と聞きかじったことを基に、 自分なりのエッセンスを加えてまとめたものです ● 例外を全力で無視しています ● 半分ぐらいネタです/半分ぐらい本気です
5.
13/Dec./2014 関数型を盲信するその前に @hajikami 5 言いたいことの5割ぐらい オブジェクト的
S.V(...) [→ Target] 手続き的 V(...) [→ Target] How 関数的 What
6.
13/Dec./2014 関数型を盲信するその前に @hajikami 6 オブジェクト的
と 手続き的 ● オブジェクト的 … 行為者に着目 ● 『オブジェクト』さんが、『メソッド』をする ● 『オブジェクト』さんの『メンバ変数』 ● 結果、書くときにはこうなることが多い ● 主語.動詞(目的語など) – He has a pen … 英語の語順と一緒 ● 属格.名詞 – これも、英語の My father という語順と一緒
7.
13/Dec./2014 関数型を盲信するその前に @hajikami 7 オブジェクト的
と 手続き的 ● 手続き的 … 行為に着目 ● 『プロシージャ』をする – あえて主語を書くなれば、 『コンピュータ』が『プロシージャ』をする ● 結果、書くときにはこうなることが多い ● 動詞(目的語など) – has a pen … 主語を省略した英語の語順と一緒
8.
13/Dec./2014 関数型を盲信するその前に @hajikami 8 手続き的
と 関数的 ● 手続き的 … How ● どのようにするか – 役員の一覧がほしいから、 ループを回して、条件に当てはまるものを抜き出して… ● オブジェクト的な考え方: V の手段には興味が無 い ● S が V さえしてくれれば、 V の中身はどうでもいい
9.
13/Dec./2014 関数型を盲信するその前に @hajikami 9 手続き的
と 関数的 ● 関数的 … What ● 何を手に入れるか – 役員の一覧 ● とよく言われているけど、プログラマとしては ぶっちゃけ How で考えていることもあるよね ● リストを渡して、 再帰を使って別のリストを返すような処理とか ● 「何を手に入れるか」を、「どのように」組み合わせるか ってプログラミングスタイルともいえる
10.
13/Dec./2014 関数型を盲信するその前に @hajikami 10 学習コスト ●
前提が大きく変わるものを学ぶのは大変 ● 関数型と手続き型って、かなり違う – 手続き的なプログラミングで覚えてきたパターンは、 関数的なプログラミングでは使えないことが多い ● 最後は、学習コストと得られるものとの兼ね合い ● 趣味であれば、惜しみなくコストを使えるけどね…
11.
13/Dec./2014 関数型を盲信するその前に @hajikami 11 その他ごちゃごちゃ ●
関数型…と言われると、以下が混ざってくる ● 状態を持たない – って言うけど、再帰とか組んでる時には「途中の状態」を想像するよね – 状態が持てる Scala って言語はどうなるんですか! ● What を書いているから読みやすい – コレクションAPIのおかげではあるけれども、 頭のシフトが出来れば、このメリットはかなり大きい – 手続き型でも、手続きの分割と名付けで、ある程度は回避できるか…? ● 副作用がない – 手続き型でも、副作用のないプログラム書けるよね ● 遅延評価 – これは関数型そのものとは直接関係ないよね
12.
13/Dec./2014 関数型を盲信するその前に @hajikami 12 関数型のメリット ●
What を書いているから読みやすい(再掲) ● だらだらと長く書くことが、しにくい ● 長く書こうとするほうが大変 ● 1関数に2つ以上の機能…ということがない ● 短い、つまり、読んでる間に覚えておくことが少ない ● 人間がやってしまいがちなアンチパターンを システム的に防いでしまえるのは、大きな利点
13.
13/Dec./2014 関数型を盲信するその前に @hajikami 13 もっかい、学習コスト ●
インプットって実はめちゃくちゃ大切 ● インプットのないアウトプットは『ゴミ』 ● 一定量の良質なインプットを保ちつつ、 少しのアウトプットを直してもらうことで、成長する ● ってことは、やっぱり学習コスト高い ● とはいえ、プログラミング言語は、多くの場合、 自然言語のサブセットなので、自然言語よりはマシ ● 変化のスピードは7倍(dog year)かもしれないけど…
14.
13/Dec./2014 関数型を盲信するその前に @hajikami 14 文法事項が近いということ ●
言語がパラダイム的に遠くても、文法事項が近しければ、 覚えているパターンを使いまわせる ● 諸外国語の「~したい」って、けっこう似てるよ – I want to do. – Je veux faire. – לעשות רוצה אני. – 我想做。 ● 逆にいうと、似てない文法事項は覚えているパターンを使いま わせない – てかこれ、日本語が違いすぎるんじゃー!! (ノ#`皿´)ノ┻┻;:'、・゙;
15.
13/Dec./2014 関数型を盲信するその前に @hajikami 15 まとめ ●
プログラミングにはいろいろなパラダイムがある ● 関数型もその一つ ● 関数型言語を使うことが最善というわけではない ● 移行するための学習コストが高い ● 気をつけながらプログラムを書いていれば、 関数型でよく言われるメリットは 手続き型でもそこそこ享受できる ● 関数型言語そのものを使うのもいいけど、 関数型を学ぶことで得た知識を使っていくことも大切
16.
13/Dec./2014 関数型を盲信するその前に @hajikami 16 以上 ありがとうございました …いいのか、この結論でorz
Download now