WEB+DB PRESS plusシリーズAPIデザインケーススタディ
――Rubyの実例から学ぶ。問題に即したデザインと普遍の考え方

[表紙]APIデザインケーススタディ ――Rubyの実例から学ぶ。問題に即したデザインと普遍の考え方

紙版発売
電子版発売

A5判/304ページ

定価3,058円(本体2,780円+税10%)

ISBN 978-4-7741-7802-8

ただいま弊社在庫はございません。

電子版

→学校・法人一括購入ご検討の皆様へ

この本の概要

Rubyを題材に,APIデザインの各種事例を取り上げた技術解説書。実用のための言語のAPIデザインには,使いやすさ,一貫性,速度,互換性など,さまざまな点でバランスの良さが求められます。それらの点で,長きにわたり定評がある言語の一つは「Ruby」ではないでしょうか。本書ではRubyの事例をベースに,APIデザインの過程と考え方を丁寧に解説。言語の中核機能を担う「I/O」「ソケット」「プロセス」「時刻」「数,文字列」をカバーし,APIデザインの核心に迫ります。熟達のRubyコミッタによる全面書き下ろし。

本書の構成

本書は,Rubyで実際に行われたデザインを具体的に解説することによって,使いやすいプログラミング言語やライブラリをデザインする方法を述べています。そのため,Rubyのデザイン自体の詳細と,デザインのやり方について知ることができます。

本書は全5章から成り,Rubyの機能のカテゴリ別に分割されています。各章は,個々の機能のデザインを説明する節が並んでいます。

各節は基本的には独立しているので,どこから読んでもかまいません。とくに,その節で述べている機能を使ったことがあるのであれば,理解しやすいでしょう。ただ,関連する話題はなるべくわかりやすいものから連続して並べてあるので,そのようなものは連続して読んだ方が理解しやすいでしょう。

各章は,以下のような内容です。

第1章─I/O

IOクラスのデザインについて,述べています。C言語の標準ライブラリのstdioの問題を多く取り上げています。

第2章─ソケット

ネットワーク通信やプロセス間通信に使われるソケットのデザインについて,述べています。ソケット周りは,OSでさまざまな拡張が行われます。そのような拡張を,Rubyアプリケーションにうまく提供するデザインなどについて取り上げています。

第3章─プロセス

プロセスの起動に関するデザインについて,述べています。低レベルAPIのspawnと高レベルAPIのopen3の話題を多く取り上げています。

第4章─時刻

Timeクラスのデザインについて,述べています。暦や夏時間は人間社会の都合によって定義されるため,ソフトウェアの機能でも人間社会の都合を考慮せざるを得ません。人間社会の都合とソフトウェアの都合をどう折衷させるか,という問題を多く取り上げています。

第5章─数,文字列

数や文字列に関する機能のデザインについて,述べています。数に関して数学的な背景をどうデザインに反映させるか,などといった問題を取り上げています。

本書に関するお知らせ

本書に関連する記事を公開しております。

本書のハッシュタグは,以下です。

  • #APIデザインケーススタディ
  • #APIAKR

この書籍に関連する記事があります!

本書に寄せて
プログラミングについてご存じない方は,我々プログラマの仕事は一日中コンピュータに向かって作業する「非人間的」なものだと思っていらっしゃる方も多いようです。
本書について
本書は,プログラミング言語Rubyの開発において,さまざまな機能がどのような考えに基づいてデザインされたのかを豊富な具体例によって説明するものです。

著者プロフィール

田中 哲(たなか あきら)

2000年北陸先端科学技術大学院大学博士後期課程修了。同年より電子技術総合研究所。2001年に産業技術総合研究所に改組され現在に至る。プログラミング言語に興味を持ち,実践としてRubyの開発を行うコミッタでもある。Rubyへの貢献は細かいものまで含めると数えきれないが,大きなものは本書にかなり書いてある。