SML#で始める実践 ML プログラミング(エスエムエルシャープデハジメルジッセンエムエルプログラミング)
ハードウェア- 著者:
- 大堀 淳/上野 雄大(オオホリ アツシ/ウエノ カツヒロ)
- 出版社:
- 共立出版
- 出版日:
- 2021年04月14日頃
- ISBN:
- 9784320124714
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
本書は,最新鋭の Standard ML 系言語「 SML#」を用いて,実践的な ML プログラミング手法を解説する教科書である。
型を考えて式を組み合わせていく ML プログラミングの基本はもとより,コマンドの作成や分割コンパイルなどのシステム開発を支える機能の使い方から,C 言語との連携, データベースプログラミング,マルチコア CPU 上の並列処理などの高度なシステム開発技術に至るまで,具体的な例を用いて分かりやすく解説する。
本書で挙げられているプログラムの例やシステム開発事例,さらにそれらを通じて示されるプログラミング技法には,東北大学電気通信研究所で研究教育に従事し,ML を熟知した著者による,長年の研究開発を通じて得られた実践 ML プログラミングのノウハウが詰まっている。
プログラミングに興味を持つ幅広い読者に手にとっていただき,ML でのシステム開発の楽しさや快適さを実感してほしい。
技書の森解説
Standard ML 系の関数型言語は、大学の授業で型と再帰を学んで終わり、という付き合い方をされがちです。本書はその先、つまり ML で実用的なシステムを書くところまで読者を連れて行くことを狙った教科書で、大堀淳氏と上野雄大氏の共著により共立出版から 2021 年に刊行されました。題材となる SML# は Standard ML 系の言語で、著者らは東北大学電気通信研究所での研究教育を通じてこの分野に長く携わってきた研究者です。
前半では、型を考えながら式を組み合わせていく ML プログラミングの基本を固めます。後半はコマンドラインツールの作成や分割コンパイルといった開発を支える機能の使い方から、 C 言語との連携、データベースプログラミング、マルチコア CPU 上の並列処理まで、システム開発で実際に必要になる技術を具体例で示していきます。関数型言語の解説書では省かれやすい「外の世界とつなぐ」部分に紙幅を割いているのが、書名に「実践」を掲げる理由です。
プログラミング経験があれば関数型言語が初めてでも読み始められますが、型システムの考え方に馴染むまでは歯応えがあります。 OCaml や Haskell を触ったことがある人が SML# の設計思想に触れる読み方も、関数型言語を趣味で終わらせず道具にしたい人が腰を据えて取り組む読み方も、どちらも成立する本です。
言及 Qiita 記事 (1 件)
大堀 淳 の他の書籍
関連記事
ゲームが好きならプログラミングの本も読める
ゲームの攻略本を読んだことがあるなら、プログラミングの本も読めます。攻略本とプログラミング本の共通点から、読書のハードルを下げます。
本を読むスピードは気にしなくていい
1 ページ読むのに 10 分かかっても問題ありません。プログラミングの本はゆっくり読むのが正解である理由と、焦らず読み進めるコツを紹介します。
JavaScript / TypeScript 本ガイド - 入門から型で守る実務コードまで
JavaScript と TypeScript を 1 本の学習ルートとして捉えた技術書の選び方。JavaScript の入門書、言語の背骨を通す体系書、TypeScript の型システムを設計の武器にする本、React/Next.js の実践書まで 2026 年 8 月時点の定番で案内します。
関連用語
プログラミング
コンピュータに実行させる手順をプログラミング言語で記述し、動作を作り出す行為
競技プログラミング
与えられた問題を制限時間内に正確 / 高速に解くプログラミング競技
UNIX
多くの OS の源流となった基本ソフト。設計思想は現代の Linux や macOS に受け継がれる
Strangler Fig パターン
レガシーシステムを段階的に新システムへ移行する設計パターン
依存グラフとは - モジュール間の依存関係を可視化する方法
依存グラフはパッケージやモジュール間の依存関係を有向グラフで表現する手法。循環依存の検出 / ビルド順序の決定 / 影響範囲分析での活用法を解説
ゲーム開発
ゲームを企画 / 設計 / 実装する分野。技術と表現が高度に融合する領域