どの言語でも生きる関数型のエッセンスを「プログラミングの基礎」から学ぼう

12.1K Views

January 30, 26

スライド概要

2026/01/30 「エンジニアのための技術書LT会」https://itrend.kikkakeagent.co.jp/events/ev01

profile-image

Working at Deno Land, Studying at Georgia Tech

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

どの言語でも生きる 関数型 のエッセンスを 「プログラミングの基礎」 から学ぼう 2026/01/30 (Fri) 集合知の夜 みんなで創る最高のブックリスト | SHARE LOUNGE x KIKKAKE ITREND Yusuke Tanaka

2.

「プログラミングの基礎」 浅井健一 著 (サイエンス社) ● ハードカバーだし、無機質な表紙 ● 大学の教科書っぽい(実際そう) ● 関数型プログラミング言語OCaml ● バグらせにくいプログラムの書き方 ● 関数型以外の言語でも活かせる!

3.

この本のコア 「デザインレシピ」 ● 迷子にならない「作法」。例えば、関数に対しては ○ 1. 目的(何をする関数?) ○ 2. 入出力(型) ○ 3. 入出力の具体的な例(テストケース) ○ 4. 実装して、例を使って検証する ● インタフェースと型から考える習慣がつく

4.

東京メトロ路線網の最短路問題 ● つまり「ダイクストラ法」を実装していく ● 「デザインレシピ」に従いながら必要な関数を細かく作っていく ● 関数を組み合わせていくと目的が実現できる、という感覚 ● 関数型の特徴的な機能に触れながら、まず動くものを作る。そこから効率 的なデータ構造・アルゴリズムに置き換えて速くしていく

5.

あらゆる言語に活かせる「関数型」の考え ● “Hello world” を出力するコードが232ページまで出てこない ● 「変数」も245ページで初登場 ● 「手続き型」のやり方ではなくても、プログラムを作ることができるということ に自然に気づける構成 ● むしろ、参照透過な関数を積み上げるという関数型の特徴によって、読み やすく、テストも容易になるということにも気づける ● そして、関数型ではない言語でも、この考えは適用できる ○ 「副作用を外に追いやる」感覚

6.

誰におすすめ? ● 手続き型、命令型の言語だけしか経験がない人 ● プログラミング歴0〜2年の「伸びしろ期」 ● 参照透過性や副作用について意識して考えたことがない人 「関数型」は目的ではなく手段。 本当の目的はバグらせにくいプログラムの書き方を学ぶこと

7.

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/

8.

詳しくは https://zenn.dev/magurotuna/articles/reflect-on-my-journey-with-omscs に書きました

9.

Thank you! 実物持ってきました。 気になる方はぜひどうぞ!