プログラミング言語関連のJIS規格番号

C言語なんて常用しているものなので、時々「これ、言語仕様的にどうなんだろう」と調べることがある。

大抵は『プログラミング言語C 第2版』『CユーザのためのANSI C言語大辞典』『CプログラミングFAQ』で事足りるのだけど、それで不十分な場合には規格書をチェックすることもある。

JIS X 3010:1993を買う以前は日本工業標準調査会のサイトでJIS規格票を見るのが常だった。最近までC++MIDIプロトコルについて調べるときに重宝していた……のだが、ちょっと前から手元の環境でPDFの中身が見れなくなってしまった。原因は調べていない。

CやC++の元の規格はANSI/ISOで英語で書いてあるのだが、JIS規格になっているので日本語で仕様を読むことができる。例え「そこまで訳さなくてもいいのに」な訳だったり「よりによってここまでしか翻訳していないとはっ」な内容だったとしても、日本語なだけで結構助かるものだ。

最近C#の言語仕様を調べたいなと思って調べてみたところ、気づかない間にJIS規格になっていて驚いた。そんなことがあったので、試しにプログラミング言語関連のJIS規格にどんなものがあるのか調べてみた。

Fortran JIS X 3001
COBOL JIS X 3002
Full BASIC JIS X 3003
NDL JIS X 3004
SQL JIS X 3005, 3006
Pascal JIS X 3008
Ada JIS X 3009
C言語 JIS X 3010
MUMPS JIS X 3011
ISLISP JIS X 3012
Prolog JIS X 3013
C++ JIS X 3014
C# JIS X 3015
CLI(共通言語基盤) JIS X 3016
POSIX (C API) JIS X 3030
POSIX (Shell, Utilities) JIS X 3031
ECMAScript JIS X 3060

歴史を感じさせる言語、知らない言語、最近の言語と、意外とバリエーションが多い。個人的にはANSI Common Lispが含まれていたら嬉しかったのだが、残念ながら今となってはマイナーなISLISPしかない。

ECMAScriptあたりはネット上でも仕様の日本語訳を読めるけど、C・C++C#は多分無理なので、今後もJIS規格票のお世話になると思う。

もっともネットで見れる規格票は現行の規格のみで、旧規格や廃止された規格は見れなかったりする。これはC/C++プログラマにとっては今そこにある危機で、JISのC言語の規格はC99相当なのでANSI C89/ISO C90の厳密な規格は分からないし、C++だってC++0xが正式な規格になればJISの規格も改定されて、現行の規格は見れなくなるはずだ。

結局は旧規格の規格票を購入するしかないのだが……元々高価な規格票は、旧規格になると更に値が上がるのだった。ああ、懐が寒すぎて痛い。