2.3K Views
April 27, 24
スライド概要
#エンジニア集会 LT会 #5 「〇〇完全に理解した」
2024.04.26で発表したスライドです
うんこで完全理解する 関数型プログラミング エンジニア集会LT会 #5 2024-04-26 Lina Tsukusu
About Me 創好リナ (Lina Tsukusu) Github: neverclear86 VTuber系フリーランスエンジニア Web系をメインにやってる
この前Twitterで 「食事」の返り値は「うんこ」 なのか という議題が話題になってた
ニュースで「食事に時間を使っても アウトプットはうんこのみ」 的な発言をした人がいた
食事のアウトプットは 栄養やエネルギーであって、 うんこは副産物である
栄養やエネルギーの吸収は 副作用であって 返り値はうんこだろ
答えを求めて我々は うんこジャングルの奥地へ 向かった...
パラダイムによって変わるのでは? ボブは訝しんだ
食べてうんこするまでの流れを 咀嚼 -> 消化 -> 吸収 -> 脱水 -> うんこ として比べてみよう
※全部パラダイムでそこそこ表現しやすい TypeScriptを使います ※生物科学偏差値30ニキがお送りします ※ほとんどCopilotで書いた
構造化プログラミングうんこ の場合
処理のまとまりを関数としている 共有する値はグローバル変数に作用してる
うんこは終了ステータスになった
ある意味正しいかも?
オブジェクト指向うんこ の場合
グローバル変数は使わずに クラスの中で共有している うんこもFoodクラスの インスタンスになった
うんこは消化器官のうんこメソッドを 呼ぶことで外に出てくる
関数型プログラミングうんこ の場合
関数は自身内以外に作用しない 引数の内容が同じなら同じものを返す 純粋関数
返り値は生成されたうんこと 栄養を吸収した新しい肝臓 を返すようになった
関数型プログラミング的には うんこはアウトプットだが 新しい肝臓も生成される!!
ほんまか? 全然わからん