7.1K Views
January 30, 26
スライド概要
2026/01/30 「エンジニアのための技術書LT会」https://itrend.kikkakeagent.co.jp/events/ev01
Working at Deno Land, Studying at Georgia Tech
どの言語でも生きる 関数型 のエッセンスを 「プログラミングの基礎」 から学ぼう 2026/01/30 (Fri) 集合知の夜 みんなで創る最高のブックリスト | SHARE LOUNGE x KIKKAKE ITREND Yusuke Tanaka
「プログラミングの基礎」 浅井健一 著 (サイエンス社) ● ハードカバーだし、無機質な表紙 ● 大学の教科書っぽい(実際そう) ● 関数型プログラミング言語OCaml ● バグらせにくいプログラムの書き方 ● 関数型以外の言語でも活かせる!
この本のコア 「デザインレシピ」 ● 迷子にならない「作法」。例えば、関数に対しては ○ 1. 目的(何をする関数?) ○ 2. 入出力(型) ○ 3. 入出力の具体的な例(テストケース) ○ 4. 実装して、例を使って検証する ● インタフェースと型から考える習慣がつく
東京メトロ路線網の最短路問題 ● つまり「ダイクストラ法」を実装していく ● 「デザインレシピ」に従いながら必要な関数を細かく作っていく ● 関数を組み合わせていくと目的が実現できる、という感覚 ● 関数型の特徴的な機能に触れながら、まず動くものを作る。そこから効率 的なデータ構造・アルゴリズムに置き換えて速くしていく
あらゆる言語に活かせる「関数型」の考え ● “Hello world” を出力するコードが232ページまで出てこない ● 「変数」も245ページで初登場 ● 「手続き型」のやり方ではなくても、プログラムを作ることができるということ に自然に気づける構成 ● むしろ、参照透過な関数を積み上げるという関数型の特徴によって、読み やすく、テストも容易になるということにも気づける ● そして、関数型ではない言語でも、この考えは適用できる ○ 「副作用を外に追いやる」感覚
誰におすすめ? ● 手続き型、命令型の言語だけしか経験がない人 ● プログラミング歴0〜2年の「伸びしろ期」 ● 参照透過性や副作用について意識して考えたことがない人 「関数型」は目的ではなく手段。 本当の目的はバグらせにくいプログラムの書き方を学ぶこと
Who am I Deno Land Inc.でDeno Deploy、 Deno Sandboxをやっています🦕 米ジョージア工科大学のオンライン修士 課程にも通っていました (2025年12月、修了!) GitHub: https://github.com/magurotuna 𝕏: https://x.com/yusuktan LinkedIn: https://www.linkedin.com/in/yusuktan/
詳しくは https://zenn.dev/magurotuna/articles/reflect-on-my-journey-with-omscs に書きました
Thank you! 実物持ってきました。 気になる方はぜひどうぞ!