書籍購入:というかC89/C90とC95相当のJIS規格票を買った

Cプログラマなのに今まで規格書の類を何も持っていなかったことを、心からお詫びします(嘘)。

C言語のJIS規格票は日本工業標準調査会のサイトでもPDFで閲覧できるのだけど、残念ながら最新の規格しか見れない。現行のJIS X 3010:2003の中身はC99相当となる。

しかしながら組込み系の仕事でC言語というと未だにANSI C89/ISO C90相当であるのが大半だ。何しろMISRA-CだってC89/C90がベースなぐらいだ。

そんな環境で今まで仕事してきて、C言語がらみで疑問等が生じた時に参照してきた資料はこんな感じ。

こうしてまとめてみると、Cプログラマとしてはそこそこ王道の書籍を選んできたのかもしれない。

まあそれでもJIS X 3010は……ネットで閲覧することはあったものの、高額なのとJIS規格票の入手方法がイマイチ分からないという点で躊躇していたのだが、おもいきって買うことにした。

JIS規格票の購入方法

  • 日本規格協会に注文する
    • JSA web storeで購入する。現行の規格のみで、旧規格は扱ってない。比較的最近の規格ならPDF版もある*1
    • FAXで注文する。旧規格もOK。ただ、支払い方法がイマイチよく分からない……。
  • 書店で購入する
    • 書店で注文して取り寄せてもらう。旧規格もOKらしい。時間が掛かるけど、多分一般的且つ確実な方法だと思う。
    • 店頭で買う。国内に数ヶ所、JIS規格票の在庫を持っている書店があるので、そこで買う。旧規格は、置いているかどうか怪しいところ。

今回は某書店で取り寄せてもらった*2。2009年末の12/27に注文し、本日到着。年末年始を挟んだことを考えると、実質的に1週間ちょっと掛かった感じだろうか?

購入した規格票

今回はJIS X 3010の旧規格のものを購入。

タイトル 価格 対応するISO規格
JIS X 3010:1993 プログラミング言語C 28,350 ISO/IEC 9899:1990
JIS X 3010:1996 プログラミング言語C(追補1) 6,510 ISO/IEC 9899:1990/Amd.1:1995

旧規格は割高になるとはいえ、JIS X 3010:1993だけで現行のJIS X 3010:2003のほぼ2倍である。これは痛い。懐が寒すぎて痛い。もしかしたら、C++ 0xが正式規格となる前にJIS規格票を買っておいた方が良いかもしれない。

規格票はA4サイズで、どのページも片面のみ印刷された状態。紙質は、高校や大学で講義用のプリントの印刷に使われそうな、真っ白じゃなくて少し色のついた紙に似ている。

JIS X 3010:1993

ANSI C89/ISO C90相当のJIS規格。250ページちょっと。結構厚くて、2.5cmぐらいある。

規格票の左側が糊付けされた感じで、左側面と背面を覆うように表紙代わりのような少し厚めの紙が付いている状態。表は紙ではなく透明な薄いプラ板のようなアクリル板のようなものが取り付けられている。

C言語を使う時はC89/C90で仕事しているようなものなので、これから厳密なところを調べる時に重宝しそうな予感。

JIS X 3010:1996

1995年に追加されたAmd.1相当の部分のJIS規格。60ページ弱と薄いためか、ホッチキスで留めてある。学校とかで厚めの冊子を作る時に使いそうな、大きなホッチキスだ。

こちらは趣味で買ったようなものだけど、C89/C90・C95・C99の境目を知りたい場合はこれが無いと厳しそう。それに、処理系の独自拡張機能だと思ったら実はC95で追加された機能だった――だなんてミスはちと恥ずかしいのだが、ネット上にまとまった日本語の資料を見かけない。なのでこの規格票が頼り。

*1:PDFなら全文検索できるはずだけど、全く同じ規格でも検索できるPDFと検索できないPDFがあるという噂。

*2:本を買ったついでにレジで「JISの規格票を注文したいですけど」と言ったら、そのレジの店員が慣れた風にそのまま対応してくれた。できるなっ、この書店!