検索 - みる会図書館

検索対象: 月刊 C MAGAZINE 1990年4月号

月刊 C MAGAZINE 1990年4月号から 179件ヒットしました。

月刊 C MAGAZINE 1990年4月号


PART ANSI C と 日 本 語 処 理 の 課 題 猪 瀬 武 久 ( SC22 / CWG 主 査 ) ANSI C 規 格 に 対 す る 日 本 語 処 理 の 問 題 は , 現 在 日 本 の 情 報 処 理 学 会 の SC22 / C ワ ー キ ン グ グ ル ー プ に よ っ て 整 理 ・ 検 討 ・ 提 案 が 行 わ れ て い る 。 PART2 で は , こ の グ ル ー プ の 主 査 で あ る 猪 瀬 氏 に 日 本 語 処 理 の 問 題 に つ い て 解 説 し て も ら っ た 。 ANSI C と C の 国 際 化 機 能 日 本 言 誕 理 の 問 題 マ 丿 バ イ ト 従 来 の ASCII 1 文 字 の 範 囲 で は , い わ ゆ る char と い う デ ー タ 型 が あ る 。 char 型 で は , 1 文 字 = 1 バ イ ト と , 文 字 ど バ イ ト の 概 念 が 一 致 し て い た 。 し か し , 日 本 語 や 中 国 語 な ど の よ う な , 1 文 字 = 2 バ イ ト 以 上 の マ ル チ バ イ ト 文 字 ( 多 バ イ ト 文 字 ) が 混 在 す る と , 文 字 と い う 単 位 の 扱 い が 非 常 に や っ か い に な っ て し ま う 。 256 の 文 字 セ ッ ト で す ん で い た 世 界 と , 何 千 何 万 に も の ば る 文 字 を か か え る 世 界 と で は , そ の 困 難 さ に お い て は る か に 異 な っ て い る と い え る 。 た し か に , ASCII の 世 界 で は C 言 語 で テ キ ス ト 処 理 の ア プ リ ケ ー シ ョ ン は 問 題 な く 書 50 CMAGAZINE 19 4 け て い た 。 し か し , 日 本 語 の よ う に マ ル ヂ バ イ ト の 世 界 に な っ て く る と , 1 文 字 が 複 数 バ イ ト か ら な っ て い る こ と か ら , さ ま ざ ま な 問 題 を 呈 し て い る の が 現 状 で あ る 。 そ の コ ー ド の 衝 突 日 本 語 処 理 の 問 題 点 典 型 例 を 以 下 に 見 て み よ う 。 し よ う 。 こ の 例 で は , ASCII 文 字 か ら の シ フ バ イ ト 文 字 列 「 日 本 語 」 と 書 い た 場 合 を 想 定 と い う よ う に , 文 字 列 リ テ ラ ル 中 に マ ル チ "abcde 日 本 語 fghik" し ) 。 た と え ば , 的 な コ ン セ プ ト と し て 理 解 し て い た だ き た し て 話 を 進 め る 。 こ で 述 べ る こ と は 基 本 す る た め に 実 際 と は 多 少 異 な る が , 簡 略 化 挙 げ ら れ る 。 こ で は , わ か り や す く 説 明 ま ず 問 題 点 の ひ と つ に , コ ー ド の 衝 突 が ト イ ン コ ー ド と し て 3 バ イ ト の エ ス ケ ー プ シ ー ケ ン ス が あ り , さ ら に 「 日 本 語 」 と い う マ ル チ バ イ ト 文 字 列 が 出 て き て , シ フ ト ア ウ ト コ ー ド と し て 3 バ イ ト の エ ス ケ ー プ シ ー ケ ン ス が 存 在 し , 再 び ASCII 文 字 に 戻 っ た と す る 。 こ の と き , 「 日 」 を 構 成 す る 1 バ イ ト 目 が 「 " 」 に 一 致 し て し ま っ た ら ど う な る だ ろ う か ? 当 然 , 文 字 列 は こ こ で 閉 し ら れ て し ま い , プ ロ グ ラ マ の 意 図 と は 異 な っ て し ま う 。 あ る い は , printf 関 数 の 書 式 指 定 の な か に お い て は , % は 書 式 の 制 御 文 字 に 用 い ら れ る が , た ま た ま 漢 字 の な か の 1 バ イ ト に % と 本 語 」 の 「 日 」 と い う の は , 論 理 的 に そ れ 以 上 ま う と い う 問 題 点 が 挙 げ ら れ る 。 本 来 , 「 日 次 に , 論 理 的 単 位 を 強 引 に 切 り 離 し て し 論 理 単 位 の 切 断 日 本 語 処 理 の 問 題 点 イ ト の 世 界 に は 存 在 す る 。 よ う な コ ー ド の 衝 突 と い う 問 題 が マ ル チ バ も ま た お か し な こ と に な っ て し ま う 。 一 致 す る コ ー ド が あ っ た 場 合 に は ,

月刊 C MAGAZINE 1990年4月号


も う 分 解 す る こ と が で き な い ロ ジ カ ル な 単 位 で あ る に も か か わ ら ず , た と え ば バ イ ト 単 位 だ と 1 バ イ ト す つ に 分 け ら れ , わ け の わ か ら な い も の に さ れ て し ま う 。 ま た , 意 味 を も っ か た ま り と し て の 論 理 単 位 を 切 り 離 し て し ま う と い う 問 題 も あ る 。 ェ ス ケ ー プ シ ー ケ ン ス の よ う な コ ー ド 系 を 考 え た 場 合 , 本 来 シ フ ト イ ン と い う ロ ッ キ ン グ シ フ ト が あ り , そ の あ と 「 日 本 語 」 と い う マ ル チ バ イ ト コ ー ド の モ ー ド に な っ て い て , シ フ ト ア ウ ト が く る ま で モ ー ド が コ ン テ キ ス ト と し て 保 存 さ れ て い る わ け な の に こ れ を , ・ ・ ( シ フ ト イ ン ) 日 、 、 十 〃 本 語 ( シ フ ト ア ウ ト ) ・ ・ ・ と い う よ う に 適 当 な と こ ろ で 切 っ て し ま っ た と す る と , 意 味 を も っ か た ま り か ら 切 り 離 さ れ て し ま っ た そ れ ぞ れ の か た わ れ は , い っ た い ど の よ う な 意 味 を も つ の で あ ろ う こ う い う 日 本 語 処 理 の さ ま ざ ま な 問 題 か ? が 発 生 し て き た 。 と こ ろ が , こ れ ら の 諸 問 題 を 従 来 の 1 バ イ ト = 1 文 字 の 範 囲 で 無 理 し て 扱 お う と 思 っ て も , 結 局 は , 小 手 先 だ け の た ん な る 回 避 し か な さ れ す , さ ら に そ こ か ら さ ま ざ ま な 問 題 が 派 生 し て し ま っ て い る 。 そ こ で , こ の よ う な マ ル チ バ イ ト 文 字 が 入 っ て も , 1 バ イ ト が 1 文 字 で あ っ た 古 き よ き 時 代 の 処 理 と 同 様 の 処 理 が 可 能 な 言 語 要 素 を , な ん と か 加 え ら れ な い だ ろ う か と い う の が , 日 本 語 処 理 の そ も そ も の 発 端 で あ り , 日 本 側 か ら の 提 案 で あ っ た 。 今 ま で は , 1 バ イ ト 単 位 で の 操 作 し か で き な い よ う な 言 語 仕 様 の 世 界 で , 今 述 べ て き た よ う な さ ま ざ ま な 問 題 点 を ア プ リ ケ ー シ ョ ン プ ロ グ ラ ム を 組 み , な ん と か 回 避 ・ 処 理 し て い た わ け だ が , そ れ に し て も , マ ル チ バ イ ト コ ー ド が 文 字 列 リ テ ラ ル の な か で 衝 突 し た り す る こ と を 避 け る の は 非 常 に 困 マ ル チ バ イ ト 処 理 機 能 導 入 の 目 的 特 集 AN 0 の 現 状 Tbl. 1 C に お け る 多 バ イ ト 処 理 機 能 導 入 の 目 的 ( 日 本 の 立 場 か ら ) ① 従 来 の 文 法 の 範 囲 で , ASQII, 日 本 語 混 じ り の テ キ ス ト を ノ ヾ イ ト 単 位 に 操 作 し て き た も の を , コ ー ド の 衝 突 な ど が 起 こ ら な い よ う に 文 法 と し て 整 合 の と れ た も の に ② さ ら に , 「 日 本 語 文 字 を 1 文 字 と し て 扱 う 」 た め に , ASCII, 日 本 語 も 含 め て , 同 ー 長 の 1 文 字 と し て 扱 え る 機 能 を 導 入 し , 操 作 を 容 易 に し た い ③ 日 本 語 の み な ら す , 「 多 バ イ ト 言 語 圏 」 ( 中 国 , 韓 国 な ど ) に 通 用 す る 一 般 性 の あ る 文 法 と し て , 国 際 標 準 と し て 認 知 さ せ た い 難 で あ ろ う 。 少 な く と も 今 示 し た よ う な 例 は , た と え ば 16 進 表 現 で 記 述 す る こ と に よ っ て な ん と か 避 け て い る わ け だ が , し か し , 小 手 先 の 回 避 で は な く , 言 語 仕 様 と し て き ち ん と 保 証 で き る よ う な ス ペ ッ ク を 作 っ て は し い と 願 わ ざ る を え な い 。 そ の た め に は , マ ル チ バ イ ト 文 字 は き ち ん と 1 文 字 と し て 扱 え る , つ ま り , 1 文 字 が い く つ の バ イ ト か ら 構 成 さ れ て い る か を ア プ リ ケ ー シ ョ ン が 意 識 し て 処 理 す る の で は な く , ち ゃ ん と 1 文 字 は 1 単 位 で , そ れ 以 上 分 解 で き な い よ う な 単 位 と し て 扱 え る よ う な コ ン セ プ ト を 導 入 し な け れ ば な ら な い の だ 。 要 す る に , 普 通 の ASCII 文 字 と 同 し よ う に 日 本 語 ( あ る い は も っ と 広 く い え ば 中 国 語 や 韓 国 語 な ど ) を 扱 え る メ カ ニ ズ ム を 導 入 し た い , 日 本 語 を 含 む テ キ ス ト を 「 ASCII の み の テ キ ス ト の 操 作 」 の よ う に 扱 え る 言 語 仕 様 が ほ し い , と い う こ と で あ る 。 そ の た め に 日 本 語 の 範 囲 で ま ず 概 念 を 築 き 上 げ , そ の 後 に 中 国 語 や 韓 国 語 な ど も 扱 え る 汎 用 的 な 構 造 を 作 っ た う え で , 国 際 標 準 化 し て い き た い と い う の が 日 本 側 の 主 旨 で あ る 。 こ れ を TbI. 1 に ま と め る 。 マ ル チ バ イ ト 機 能 の 標 準 化 の 経 緯 こ で は ,ANSI C の 国 際 化 機 能 ( イ ン タ ー ナ シ ョ ナ ラ イ ゼ ー シ ョ ン ) の 現 状 と , 国 内 に あ る SC22 の C ワ ー キ ン グ グ ル ー プ ( SC22 / C (G) の ド ラ フ ト に つ い て み て い く 。 マ ル チ バ イ ト の 問 題 を た ぐ っ て み る と , 日 本 国 内 で 日 本 語 処 理 問 題 を 検 討 す る 組 織 が 発 足 し た の は 1984 年 10 月 だ っ た 。 当 時 , AT & T ュ ニ ッ ク ス パ シ フ ィ ッ ク (AT&T (P) が 日 本 語 を 含 ん だ UN Ⅸ を 作 る た め に そ の 諮 問 を 東 大 の 石 田 晴 久 氏 に 依 頼 , 氏 が 委 日 本 で の 日 本 言 誕 理 の 発 端 と SC22 / C ワ ー キ ン グ グ ト プ の 誕 生 員 長 に な り , メ ー カ ー な ど が 参 加 し て 日 本 語 UNIX シ ス テ ム 諮 問 委 員 会 (Japanese UNIX System Advisory Committee) を 発 足 さ せ た 。 以 後 , こ の 諮 間 委 員 会 で 作 成 さ れ た 案 が 日 本 語 処 理 概 念 の 原 型 に な っ て い る 。 そ こ で 討 議 さ れ た 答 申 案 は , 日 本 語 UNIX シ ス テ ム 諮 問 委 員 会 の 報 告 書 と い う 形 で AT&T UP か ら 1985 年 3 月 末 に 発 表 さ れ て い る (Proposal of Japanese Capability in UNIX System V)O 同 時 に , こ の 答 申 案 を べ ー ス に 国 際 的 な 場 で 提 案 す る 旨 が 付 帯 条 件 と し て つ け ら れ て , AT & T UP に 諮 問 さ れ た 。 ま た , シ ス テ ム プ ロ ジ ェ ク ト が 発 足 特 集 ANSI C の 現 状 51

月刊 C MAGAZINE 1990年4月号


し た の も こ の 年 で あ る 。 し た が っ て , こ の 年 が , C 言 語 の 日 本 語 処 理 元 年 と い っ て も よ い の か も し れ な い 。 1986 年 に は , ANSI X3J11 が 1983 年 5 月 の 設 立 以 来 討 議 を か さ ね て い た C の 標 準 化 に つ い て , こ の 標 準 化 案 を 国 際 標 準 と す べ く , ISO(InternationaI Organization for Standardization) の SC22 下 に ワ ー キ ン グ グ ル ー プ が 発 足 し た 。 こ れ は SC22 / WG14 と 呼 ば れ る C 言 語 の 委 員 会 で , 基 本 的 に は ANSI が ス ポ ン サ リ ン グ ボ デ ィ と な り , そ れ を フ ォ ロ ー す る 目 的 で 組 織 さ れ た も の だ っ た 。 こ れ と は ば 連 動 し て , 国 内 に お い て も 情 報 処 理 学 会 の 規 格 調 査 会 の 下 に あ る , プ ロ グ ラ ミ ン グ 言 語 の 標 準 化 を 検 討 す る SC22 ( 主 査 ・ 中 田 育 男 氏 ) の な か に C ワ ー キ ン グ グ ル ー プ が 発 足 し た の で あ る 。 日 本 C 讎 吾 委 員 会 の 提 案 1986 年 に ANSI X3J11 の 下 に 国 際 化 機 能 ア ド ホ ッ ク ( Adh 。 c ) 委 員 会 が 開 催 さ れ た 。 日 本 か ら は , 石 田 晴 久 氏 以 下 日 本 語 UNIX シ ス テ ム 諮 問 委 員 会 の 諮 問 し た ド ラ フ ト を , AT&T UP か ら 提 案 し て い る 。 こ の と き , ヨ ー ロ ッ パ を 中 心 と す る 諸 国 が ヨ ー ロ ッ パ 系 の 国 際 化 機 能 に 関 し て 提 案 し て お り , そ れ ら は , 後 に 仕 様 と し て 取 り 入 れ ら れ て い る 。 ヨ ー ロ ッ パ で は , 国 ご と に 記 号 表 記 や 通 貨 記 号 な ど , た と え ば 小 数 点 の ピ リ オ ド の 代 わ り に カ ン マ を 使 う , 数 字 の 3 桁 単 位 の 記 号 な ど が 異 な っ て い る 。 こ の よ う な 類 い の 地 域 化 の メ カ ニ ズ ム に 対 し て は , こ の と き 議 論 さ れ た も の が 取 り 入 れ ら れ た の だ が , AT&T UP か ら 提 案 さ れ た マ ル チ バ イ ト 機 能 に 関 し て は , 時 機 尚 早 と い う こ と で , 採 用 に は 至 ら な か っ た 。 1987 年 に は SC22 で , C 言 語 の DP(Draft ProposaI) 投 票 が 行 わ れ た 。 こ の 案 は ANSI C に 比 べ て 古 い と い う 理 由 で , 日 本 と し て は 反 対 投 票 を し て い る 。 こ の 年 , 日 本 の ソ フ ト ウ ェ ア ベ ン ダ ー を 52 CMAGAZINE 19 4 中 心 に 日 本 C 言 語 委 員 会 ( Japan C Lan guage Committee) が 組 織 さ れ , X3J11 に 日 本 語 機 能 の 提 案 を し て い る ( 、 、 A Proposal for an Additon to the ANSI C Lan guage Standard") 。 具 体 的 に は , 資 料 番 号 と し て は 登 録 さ れ た が ( X3J11 / 87 ー 064 ) , 検 討 対 象 と さ れ す , こ れ も 採 用 さ れ な か っ た 。 Fig. 1 日 本 処 理 問 題 の 系 譜 日 本 語 UN Ⅸ シ ス テ ム 諮 問 委 員 会 AT&T UP JAE2.0 JAEI . 0 MNLS3. X SC22 /CSWG SC22 /CWG 情 報 処 理 学 会 マ ル チ バ イ 能 の 日 開 始 し か し , DP 投 票 が 不 成 功 に 終 わ り , 規 格 案 作 り が 延 期 さ れ た こ と も あ っ て , 1987 年 8 月 か ら マ ル チ バ イ ト 機 能 の 検 討 が 急 速 に 進 1 984 年 芝 シ ス テ ム 日 本 語 機 能 lnt , n OSF lnt , n WG lnt'n WG X/Open ー C 言 語 委 員 会 日 本 ( 翻 訳 中 心 ) 専 門 委 員 会 言 語 標 準 化 電 子 協 JUS/SIGINT

月刊 C MAGAZINE 1990年4月号


展 し は じ め た 。 さ ら に , こ の 年 に 開 催 さ れ た SC22 総 会 で , 今 後 プ ロ グ ラ ミ ン グ 言 語 の 規 格 案 に 各 国 語 化 機 能 を 必 す 盛 り こ む と い う リ ゾ ル ー シ ョ ン が 出 る に お よ ん で , 機 運 が 盛 り 上 が り は じ め た 。 日 本 の C ワ ー キ ン グ グ ル ー プ も , 二 度 に わ た っ て , 日 本 側 の 案 の 採 用 を ISO の SC22 / WG14 お よ び ANSI に 提 案 し て い る 。 そ の 後 , DP 投 票 が 88 年 の は し め に あ っ た が , こ れ は ま だ ま だ 検 討 し な け れ ば な ら い 問 題 が 多 々 あ る と い う 理 由 で 否 決 さ れ , 再 び 成 立 に は 至 ら な か っ た 。 日 本 も 反 対 投 票 し て い る 。 ま た , 89 年 初 頭 に ANSI / X3 で の 投 票 が あ っ た が , コ メ ン ト の 回 答 に 不 備 が あ る な ど の 問 題 が 指 摘 さ れ , 長 い 時 間 を か け て 調 整 し て い た が , 89 年 12 月 14 日 付 で や っ と ANSI の C と し て 処 理 す る こ と が 承 認 さ れ る に お よ ん だ 。 コ メ ン ト な ど の 反 映 版 が , 90 年 3 月 末 ご ろ 正 式 に ANSI C と し て 出 版 さ れ る 見 込 み と い わ れ て い る 。 ISO の SC22 に お い て も 89 年 に , 同 仕 様 に 対 し て DP 投 票 が 行 わ れ た 。 日 本 と し て は , 条 件 (ANSI C と 必 す 一 致 さ せ る こ と , お よ び 編 集 上 の 誤 り の 指 摘 ) つ き 賛 成 と い う こ と で 賛 成 票 を 投 じ て い る 。 基 本 的 に 反 対 0 で DP は 可 決 さ れ た 。 現 在 の ISO の C は DIS 投 票 中 の 状 態 で , 12 月 21 日 か ら 6 月 21 日 ま で が 郵 便 投 票 期 間 で あ る 。 現 在 , 日 本 の C ワ ー キ ン グ グ ル ー プ は ISO の C の 補 遺 と し て , 昨 年 か ら 作 成 し て き た マ ル チ バ イ ト 機 能 の 拡 張 案 を 付 加 を す る よ う ISO の ほ う に 提 出 し た と こ ろ で あ る 。 す で に 述 べ た と お り , 85 年 に 日 本 語 UNIX シ ス テ ム 諮 間 委 員 会 が 発 表 し た 諮 問 案 が さ ま ざ ま な 組 織 の 日 本 語 処 理 の 原 型 に な っ て AT & T も JAE2.0 , 最 近 は MNLS3.2 に な っ て い る が , や は り こ の 諮 間 案 を 元 に 討 議 さ ま ざ ま な 提 案 電 子 協 / 讎 吾 標 準 化 専 門 委 員 会 を か さ ね , 発 展 さ せ て い る 。 一 方 で , こ れ は シ ス テ ム に も イ ン ブ ッ ト さ れ て , シ ス テ ム の 日 本 語 機 能 の べ ー ス に も な っ て い る 。 私 た ち が マ ル チ バ イ ト 機 能 の 拡 張 に 関 す る ド ラ フ ト を 作 成 す る に あ た っ て は , 日 本 の SC22 の C ワ ー キ ン グ グ ル ー プ の さ ら に 下 に サ プ ワ ー キ ン グ グ ル ー プ を 発 足 さ せ て , X/Open, UNIX イ ン タ ー ナ シ ョ ナ ル , OSF, JUS な ど の 国 際 化 機 能 に 関 心 を も つ さ ま ざ ま な 組 織 の 国 内 の 関 係 諸 氏 の 参 加 を い た だ い て い る 。 少 な く と も 日 本 で の , 特 集 AN 0 の 現 状 れ ま で 説 明 し た よ う な 経 緯 か ら 誕 生 し た ノ ウ ハ ウ と コ ン セ ン サ ス を , 集 約 す る 形 で 運 営 さ れ て い る 。 も ち ろ ん , 日 本 C 言 語 委 員 会 の お も だ っ た メ ン バ の 方 々 の 参 加 も い た だ け る よ う に な っ た 。 ま た , 電 子 協 に も ANSI C ド ラ フ ト の 翻 訳 作 業 を 中 心 と し た 言 語 標 準 化 専 門 委 員 会 が あ る が , 同 委 員 会 で 提 出 さ れ た コ メ ン ト も , SC22 / C ワ ー キ ン グ グ ル ー プ で 審 議 の う え , 情 報 処 理 学 会 の SC22 を 通 じ て 提 案 さ れ て い る 。 AN C 国 際 化 機 能 の 現 状 ANSI の 国 際 化 機 能 を 大 別 す る と , ① マ ル チ パ イ ト 文 字 の 扱 い ② 地 域 化 導 入 の メ カ ニ ズ ム の ふ た つ に 分 け る こ と が で き る 。 ま す ① の 間 題 に つ い て 考 え て み た い 。 マ ル チ バ イ ト 文 字 の 扱 い 文 字 集 合 の 拡 張 ま す マ ル チ バ イ ト 文 字 の 扱 い だ が , 基 本 的 に 一 に は ソ ー ス キ ャ ラ ク タ セ ッ ト ( ソ ー ス 文 字 集 合 ) と エ グ ゼ キ ュ ー シ ョ ン キ ャ ラ ク タ セ ッ ト ( 実 行 文 字 集 合 ) が あ る 。 ソ ー ス 文 字 集 合 , 実 行 文 字 集 合 と も に 高 語 疋 義 上 必 要 な 基 本 文 字 集 合 に れ は 1 バ イ ト で 表 す 文 字 に な っ て る ) を 含 み , さ ら に 処 理 系 は 日 本 語 の よ う な 文 字 を 含 め て , 拡 張 文 字 集 合 を 作 る こ と が で き る 。 こ の 拡 張 文 字 集 合 を 追 加 し た 部 分 は , ロ ケ ー ル ス ペ シ フ ィ ッ ク ( 地 域 固 有 ) で あ っ て , 日 本 語 の よ う な 多 バ イ ト 文 字 も こ の 拡 張 部 分 に 入 る と い う こ と に な る 。 基 本 的 に ANSI C の 概 念 は こ で は , コ ー ド 系 か ら 独 立 と い う こ と を 原 則 と し て い る 。 た と え ば 多 く の メ イ ン フ レ ー ム が 使 っ て い る よ う な JIS コ ー ド に は , 工 ス ケ ー プ シ ー ケ ン ス が 入 っ て い る が , そ う い う も の も 対 象 に し て , 「 特 定 の コ ー ド 系 を 仮 定 す る の は や め よ う 」 と い う こ と で 作 り 上 げ ら れ て い る 。 マ ル チ バ イ ト 文 字 か 書 け る 場 所 で は ど う い う と こ ろ に マ ル チ バ イ ト 文 字 が 書 け る の だ ろ う か 。 ま す コ メ ン ト , ヘ ッ ダ フ ァ イ ル 名 に 日 本 語 が 書 け る よ う に な る 。 #include ” 日 本 語 ヘ ッ ダ " さ ら に は , 文 字 列 リ テ ラ ル 中 に マ ル チ バ イ ト 文 字 が 書 け る よ う に な る 。 た と え ば , "This is 漢 字 " の よ う に , マ ル チ バ イ ト を バ イ ト 単 位 で 扱 う こ と が で き る よ う に な る の で あ る 。 マ ル チ バ イ ト 文 字 を 同 一 長 の オ プ ジ ェ ク ト と し て 扱 ー イ ド 文 字 い わ ゆ る ANSI C で い う マ ル チ バ イ ト 文 字 ・ ・ と い う ア ル フ は , 1 バ イ ト の 文 字 ( A , B ・ ・ ァ ベ ッ ト な ど ) , お よ び 複 数 の バ イ ト か ら 構 成 さ れ る 文 字 を 含 め て マ ル チ バ イ ト 文 字 と い う が , そ れ を み な 同 じ 長 さ の 配 列 と し て 特 集 ANSI C の 現 状 53

月刊 C MAGAZINE 1990年4月号


LANG 復 0 C 山 、 : ・ 一 圧 ー 、 第 ・ 1 ー 頂 警 期 ー lntroduction of LANGCJÆE January 1 990 V01ume7 Number1 「 ANALYSIS & DESIGN 」 1990 月 1 月 号 の fCOMPUTER LAN GUAGE 』 の 特 集 は , 「 分 析 と 設 計 」 で す 。 同 様 の テ ー マ は , さ ま ざ ま な 雑 誌 で 取 り 上 げ ら れ て い ま す が , こ の 特 集 で は , オ プ ジ ェ ク ト を 中 心 と し た 内 容 に 重 点 を お い て い ま す 。 リ ー の 「 Objects, Func カ バ ー ス ト tions, and Program Extensibility 」 は , 非 常 に ポ リ ュ ー ム の あ る 大 作 で , プ ロ グ ラ ム の 再 利 用 と プ ロ グ ラ ム の 拡 張 を ど の よ う な 方 法 を 使 え は 簡 単 に 行 え る か , そ の 解 決 法 の 解 明 を 課 題 に し て い ま す 。 こ の 間 題 は , 古 く か ら 問 わ れ 続 け て き た も の で も あ り ま す 。 か っ て は 「 ど の よ う に 設 計 す る か 」 と い う ア プ ロ ー チ 法 が , こ の 問 題 に 対 す る 基 本 的 な 解 答 で し た 。 そ の う ち の い く つ か は 実 際 の 現 場 で も 採 用 さ れ て い ま す 。 モ ジ ュ ー ル 化 と 構 造 化 プ ロ グ ラ ム 設 計 法 が そ う で す 。 こ の ふ た つ は , 現 在 で も 使 用 さ れ て い る 方 法 で す が , 同 時 に い く っ か の 問 題 も 抱 え て い ま す 。 そ こ で , こ の 記 事 で は , オ プ ジ ェ ク ト 化 を ベ ー ス と し た プ ロ グ ラ ム の 拡 張 性 と 再 利 用 性 を 設 計 の 段 階 か ら 取 り 入 れ , オ プ ジ ェ ク ト 指 向 の 方 法 論 を 確 立 し よ う と し て い る の で す 。 こ の 方 法 論 が そ れ ま で の 方 法 と 違 う 点 は , デ ー タ オ リ エ ン テ ッ ド な 方 法 論 を め ざ す の か プ ロ シ ー ジ ャ オ リ エ ン テ ッ ド な 方 法 論 を め ざ す の か に あ り ま す 。 今 ま で の 方 法 で は , そ の 手 順 , つ ま り プ ロ シ ー ジ ャ を ど の よ う に 改 善 す る か と い う こ と が , 最 終 結 果 に か な り の 影 響 を 与 え る と 考 え ら れ て い ま し た 。 と こ ろ が , 実 際 に 長 期 間 そ の 方 法 で 行 っ た 結 果 , あ ま り 影 響 を 与 え な い と い う こ と が 判 明 し た の で す 。 34 CMAGAZINE 19 4 そ こ で , そ の 解 決 策 と し て , 新 し い 方 法 が 考 え 出 さ れ ま し た 。 こ の 方 法 が , デ ー タ オ リ エ ン テ ッ ド で す 。 手 順 に 焦 点 を あ て て , そ こ に い ろ い ろ な ア プ ロ ー チ を は ど こ し て い っ た プ ロ シ ー ジ ャ オ リ エ ン テ ッ ド な 方 法 に 対 し , 一 貫 し て 変 わ ら な い の は デ ー タ で あ り , そ の デ ー タ は 必 要 に 応 し て 加 工 さ れ る こ と が 望 ま し い と と ら え る 方 法 が デ ー タ オ リ エ ン テ ッ ド な の で す 。 そ し て , こ う し た 流 れ を 組 み 入 れ な が ら 拡 張 ・ 展 開 し て い っ た の が オ プ ジ ェ ク ト 指 向 で し た 。 こ う し た 背 景 を ふ ま え た う え で 「 オ プ ジ ェ ク ト 指 向 」 と 「 分 析 と 設 計 」 を と ら え な け れ ば , 今 月 の 特 集 は 難 し い と 感 じ る か も し れ ま せ ん 。 ち な み に , こ う し た 概 念 は す べ て ソ フ ト ウ ェ ア 工 ン ジ ニ ア リ ン グ に 基 づ い て い ま す 。 次 の 記 事 は 「 Rovira Diagram 」 で す 。 こ の タ イ ト ル は , 本 記 事 の 筆 者 で あ る Charles A. Rovira 氏 が 作 っ た ダ イ ア グ ラ ム の 名 前 で す 。 こ の ダ イ ア グ ラ ム は , ュ ー サ イ ン タ フ ェ イ ス ル ー チ ン の 内 容 を デ バ ッ グ す る た め の ダ イ ア グ ラ ム を 作 成 す る こ と が で き ま す 。 し た が っ て , こ の ダ イ ア グ ラ ム は 分 析 者 や 設 計 者 に と っ て は , 非 常 に 効 率 の い い ツ ー ル と 思 わ れ ま す 。 た だ こ の 記 事 は , オ プ ジ ェ ク ト と の 関 係 に つ い て は 明 確 に ふ れ て い ま せ ん 。 お そ ら く 分 析 用 の ツ ー ル と し て の 価 値 を 見 い だ し て い る の で し よ う 。 オ プ ジ ェ ク ト だ か ら と い っ て , こ の よ う な ツ ー ル が 向 か な い と い う わ け で は な い の で す 。 「 Of Programs, Philosophy, and Phoolishness 」 は , 読 み 物 と し て 構 成 さ れ て お り , ソ フ ト ウ ェ ア 工 ン ジ ニ ア リ ン グ に つ い て , か な り 古 い 時 代 か ら 現 在 ま で 述 べ て い ま す 。 内 容 と し て は , 日 本 の 初 心 者 に は 少 々 難 し い か も し れ ま せ ん 。 「 Member Pointer in C 十 十 」 は , ANSI で 決 定 さ れ た 仕 様 の ひ と つ で あ る offsetof と 呼 は れ る 標 準 マ ク ロ を 使 っ て , C 十 十 の ポ イ ン タ メ ン バ の フ ァ ミ リ ー を 作 ろ う と い う も の で す 。 こ の よ う な 軽 い 内 容 の た め , ペ ー ジ 数 も 少 な く , C の プ ロ グ ラ ム リ ス ト も 3 点 し か あ り ま せ ん 。 具 体 的 な 内 容 と し て は , 最 初 に offsetof の 概 説 が さ れ て お り , そ の 後 で ポ イ ン タ メ ン バ に つ い て の 関 数 作 成 が 記 述 さ れ て い ま す 。 全 体 と し て は , 比 較 的 読 み や す く 書 か れ て お り , C 言 語 の 基 礎 的 な 知 識 が あ れ ば 読 め る と 思 い ま す 。 C 十 十 の 知 識 は な い よ り は あ っ た ほ う が よ い と い う 程 度 で す 。 筆 者 は , ANSI C 十 十 の 委 員 会 の メ ン バ で も あ る そ う で す 。 「 Awk of Ages, Best fo 「 Me 」 は , も ち ん AWK に つ い て の 記 事 で す 。 内 容 は , AWK が 弱 い と さ れ て い る ス ク リ ー ン 処 理 を 何 と か 補 強 し よ う と い う も の で す 。 AWK は , 最 近 日 本 で も 徐 々 に 流 行 し つ つ あ る の で , 関 心 を も っ て い る ユ ー サ が か な り い る と 思 わ れ ま す 。 こ の 記 事 は ま さ に そ う し た ユ ー サ に う っ て つ け の も の だ と 思 い ま す 。 「 Product Wrap-up 」 で は , PC 上 で 動 い て い る CASE 関 係 の 製 品 に つ い て 説 明 が な さ れ て い ま す 。 そ の ほ か , Plauger 氏 や い く つ か の コ ラ ム で オ プ ジ ェ ク ト 関 連 の 記 事 が 目 に つ き ま し た 。 ま た , 編 集 長 の J. D. Hilde brand 氏 が Editor's Notes 「 The impor tance of planning 」 の 中 で , 本 年 の 抱 負 に つ い て 簡 潔 に 記 し て い ま す 。 ℃ OMPUTER LANGUAGE 』 の 今 後 の 方 針 を 知 る う え で お お い に 参 考 に な る で し よ う 。

月刊 C MAGAZINE 1990年4月号


特 集 AN 0 の 現 状 TbI. 2 C 言 語 の 多 バ イ ト 機 能 標 準 化 の 経 緯 ラ イ プ ラ リ 次 に , ワ イ ド 文 字 と マ ル チ バ イ ト 文 字 列 の 間 の 変 換 関 数 を 見 て い く こ と に す る 。 ( 1 ) 多 バ イ ト 文 字 関 数 文 字 単 位 で マ ル チ バ イ ト 列 と ワ イ ド 文 字 と の 変 換 を 行 う 関 数 に は , 次 の 3 つ が あ る 。 mblen 関 数 mbtowc 関 数 wctomb 関 数 ()b は multibyte を 表 し , wc は wide character を 表 す ) マ ル チ バ イ ト 列 か ら ワ イ ド 文 字 列 へ の 変 換 は , た と え ば 2 バ イ ト 文 字 と 1 バ イ ト が 混 在 し て い る マ ル チ バ イ ト 列 に お い て , あ る 位 置 か ら 次 の 1 文 字 を ひ と つ の 単 位 と し て 取 り 出 す と き , こ の か た ま り が 何 バ イ ト の 長 さ で あ る の か が 問 題 と な る 。 爪 blen 関 数 は , こ の バ イ ト 数 を 調 べ る た め の 関 数 で あ る 。 mbtowc 関 数 は , mblen で 調 べ た バ イ ト 数 分 の か た ま り を 処 理 系 で 定 義 さ れ る 内 部 コ ー ド に 変 換 し , そ の 結 果 を wchar の ア ー ギ ュ メ ン ト で あ る pwc に セ ッ ト す る 。 こ れ に よ り , 文 字 が 1 バ イ ト か ら な っ て い て も , 複 数 バ イ ト か ら な っ て い て も , 1 ワ イ ド 文 字 と し て 処 理 で き る よ う に な る 。 マ ル チ バ イ ト 列 は 1 バ イ ト や 2 バ イ ト 文 字 , ェ ス ケ ー プ シ ー ケ ン ス な ど が 混 在 し て い る の だ が , ワ イ ド 文 字 は ASC Ⅱ 文 字 だ ろ う と 日 本 語 文 字 だ ろ う と , み な 同 し 長 さ の 扱 い で あ る 。 同 し 長 さ だ と 文 字 単 位 に ポ イ ン タ を 進 め た り す る の が 楽 に な る 。 ASC Ⅱ の み の 世 界 で は char の 配 列 で は , 1 バ イ ト 単 位 に ポ イ ン タ を 進 め た り し て , 文 字 列 を 自 在 に 切 り 張 り す る こ と が で き た が , wchar の 世 界 で は , ASC Ⅱ 文 字 や 日 本 語 文 字 を 含 め て , み な 同 し 長 さ の 世 界 な の で , 同 し 処 理 が で き る と い う ワ イ ド 文 字 変 数 の 初 期 化 は , wchar t wcaC]=LN 、 ワ イ ド 文 字 に よ る 初 期 化 〃 ・ と , 初 期 値 文 字 列 の 前 に L を つ け る よ う に す る 。 年 月 1983 年 5 月 1985 年 8 月 1986 年 1987 年 1988 年 1989 年 経 緯 ANSI X3U Ⅱ 設 置 日 本 語 IJN Ⅸ シ ス テ ム 諮 問 委 員 会 報 告 書 プ ロ ジ ェ ク ト 発 足 ISO SC22 / WG14 発 足 情 報 処 理 学 会 SC22 / C WG 発 足 ><3U Ⅱ 国 際 化 機 能 Adhoc 委 員 会 に 日 本 語 IJN Ⅸ シ ス テ ム 諮 問 委 員 会 案 を 提 案 ( A 丁 & T か ら ) ISO SC22 C 言 語 の ロ P 登 録 投 票 ( 日 本 反 対 ) 日 本 C 言 語 委 員 会 , X3U Ⅱ に 日 本 語 機 能 の 提 案 ><3Jl 1 多 ノ ヾ イ ト 機 能 の 追 加 開 始 SC22 総 会 , プ ロ グ ラ ム 言 語 の 多 バ イ ト 機 能 の 標 準 へ の 盛 り 込 み 勧 告 決 議 C WG, ニ 度 に わ た っ て , 日 本 案 を SC22 / WG14 お よ び X3J11 に 提 案 旧 0 SC22, C 言 語 の DP 投 票 ( 日 本 反 対 ) ><3Ull, 多 ノ ヾ イ ト 機 能 を 含 ん だ 案 ( ><3J Ⅱ / 88 ー 00D の Public Review 同 上 に 対 し て , 日 本 の コ メ ン ト 提 出 コ メ ン ト 反 映 版 ( ><3JI レ 88 ー 090 ) の Public Review 同 上 に 対 し て , 日 本 の コ メ ン ト 提 出 X3Ul 1 / 88 ー 159 (ANSI 最 終 案 ) 旧 0 SC22 C の DP 投 票 ( 日 本 条 件 つ き 賛 成 ) ISO の DP 投 票 の 結 果 , 反 対 0 で , 現 在 ロ S 投 票 中 ( 1990 年 6 月 円 日 締 切 ) 12 月 14 日 付 で , ANSI C が 規 格 と し て 成 立 , 処 理 す る こ と が 承 認 さ れ る C WGC, 多 ノ ヾ イ ト 機 能 の 拡 張 案 作 成 中 よ う に な る 。 そ う い う シ ン メ ト リ ッ ク な 世 界 に 持 ち 込 み ク , 「 1 文 字 が 1 バ イ ト で あ っ た 世 界 と 同 様 の 操 作 が で き る よ う に し よ う 」 と い う 概 念 が 多 バ イ ト 文 字 関 数 で あ る 。 以 上 の 理 由 に よ り , マ ル チ バ イ ト 列 か ら ワ イ ド 文 字 に 変 換 す る 関 数 と , 逆 に ワ イ ド 文 字 か ら マ ル チ バ イ ト 列 に 変 換 す る 関 数 が 用 意 さ れ て い る 。 多 バ イ ト 列 関 数 さ ら に , 文 字 単 位 で は な く , 文 字 列 全 体 を ま と め て お 互 い に 変 換 し よ う と い う 関 数 も 用 意 さ れ て い る 。 mbstowcs wcstombs と い う ふ た つ の 関 数 が そ れ で あ る 。 こ れ は , 前 述 の 文 字 単 位 で 行 っ て い る 変 換 処 理 を 文 字 列 単 位 で ま と め て 変 換 し よ う と す る も の で あ る 。 コ ー ド の 整 合 性 の 保 証 文 字 の コ ー ド が 衝 突 す る と い う 問 題 は す で に 述 べ た が , 工 ス ケ ー プ シ ー ケ ン ス な ど を き ち ん と 意 識 し た う え で , 書 式 な ど を ス キ ャ ン す べ き で あ る と い う 定 義 も 盛 り 込 ん で あ る 。 す な わ ち , 文 字 列 リ テ ラ ル や コ メ 特 集 ANSI C の 現 状 55

月刊 C MAGAZINE 1990年4月号


実 践 C プ ロ ク ラ マ 養 成 講 座 三 田 典 玄 の イ ラ ス ト ・ 山 形 彰 吾 五 京 回 準 は そ の ま ま 日 本 の 標 準 に な る の が 慣 例 だ 拠 に , ポ ー ラ ン ド も TurboC を Ver. 1.0 か ら か ら , 私 た ち C 言 語 に お 世 話 に な っ て い る 人 Ver. 1.5 へ と バ ー ジ ョ ン ア ッ プ す る と き に そ 間 も , こ の 規 格 の お 世 話 に な る 。 フ レ キ シ の 「 売 り 文 句 」 と し て 「 MS ー C コ ン パ チ 」 を う た ビ リ テ ィ が あ り す ぎ て 個 性 豊 か な バ グ の 山 っ て い た 連 載 も だ い た い 半 年 続 く と ネ タ 探 し が た だ っ た C 言 語 も , こ の 「 世 界 規 格 」 で や っ と 一 ま た , C 言 語 が UNIX か ら き た 言 語 で あ る い へ ん で あ る 。 な に せ 「 書 く 」 こ と よ り も 経 定 の コ ー デ ィ ン グ 基 準 が 定 め ら れ る よ う に こ と を 思 え ば , 本 当 の C 言 語 の 標 準 は UNIX 営 や 開 発 が 私 の 専 門 な の だ か ら , ネ タ が な な っ た 。 に 付 属 の C 言 語 と い う こ と に な る 。 し か し , く な る と と こ と ん な く な っ て し ま う 。 C 言 語 の 規 格 案 自 体 は 1985 年 と い う か ら 今 UNIX に よ っ て は こ の C 言 語 が ま っ た く 違 っ ち ゃ ん と し た 「 モ ノ 書 き 」 で あ れ ば ネ タ 探 か ら 5 年 も 前 に 出 さ れ て お り , そ れ に 数 々 の て い る も の も あ り , 一 概 に そ う だ と も い い し そ の も の が 仕 事 の 範 疇 に 入 る の で , ネ タ 検 討 が 加 え ら れ 改 訂 さ れ , 現 在 の 規 格 案 に 切 れ な い 。 強 い て い え ば マ イ ナ ー で は あ る 探 し に 力 を 入 れ て も 問 題 は な い の だ が , 私 な っ た 。 最 初 の 規 格 案 の 作 成 の 時 点 で は 威 が , AT&T の 3B シ リ ー ズ 上 の UNIX に 付 属 の 場 合 は 「 副 業 」 だ か ら ネ タ 探 し の た め に 会 勢 の よ か っ た C 言 語 べ ン ダ ー が , ANSI に 委 の C 言 語 が 標 準 だ と い う こ と に な る 。 社 を 空 け る , と い う わ け に は い か な い 。 員 も 出 し た の に 実 際 に 規 格 案 が で き あ が る お ま け に 最 近 の UNIX で は , GNU の C 言 今 回 の ネ タ は 「 UNIX と 新 し い C 言 語 と そ 前 に マ イ ナ ー な べ ン ダ ー に な っ て し ま っ た , 語 コ ン パ イ ラ で あ る gcc と か , Mach を 載 せ の 周 辺 」 で あ る 。 こ れ は 別 に 私 の 新 し い 本 の な ど と い う こ と も あ っ た が , と に か く 5 年 前 て い る NeXT の Objective-C と か が で て き て 書 名 で は な い 。 最 近 の UN Ⅸ や 最 近 で て き た よ り も は る か に こ の 規 格 案 そ の も の の 意 義 お り , と に か く 「 標 準 」 と 呼 べ る も の は な い 。 C 言 語 , そ れ に ま つ わ る 技 術 や 文 化 に つ い て は 大 き く な っ た こ と は 確 か で あ る 。 そ れ は 「 オ プ ジ ェ ク ト 指 向 」 と い う こ と で あ れ ば の 話 題 を 追 っ て み よ う と い う の で あ る 。 ど C 言 語 は 「 生 き 延 び た 」 言 語 だ っ た の で あ C 十 十 も AT & T 本 命 だ か ら , か な り シ ェ ア 前 回 ま で は ノ ー ス リ ス ト の 山 だ っ た の で , る 。 を 取 り そ う に 見 え る が , い す れ も オ プ ジ ェ 今 回 は 「 ち ょ っ と 息 抜 き 」 と い う 意 味 も こ め こ の 規 格 案 の 詳 細 を 見 る と K & R に 比 べ て ク ト へ の 指 向 の 仕 方 が 中 途 半 端 で あ る , と て , C 言 語 と UNIX に つ い て の よ も や ま 話 を さ は ど 大 き く 変 わ っ て は い な い 。 自 然 言 語 い う 下 馬 評 ば か り が 聞 か れ , ま だ ま だ 研 究 , し よ う と 思 う 。 が 文 法 か ら 作 ら れ た の で は な く , 言 語 が あ 趣 味 と い う 分 野 を 越 え る も の で は な い よ う っ て , 後 で 文 法 が 研 究 さ れ た と い う よ う に で あ る 。 C 言 語 も , ま す C 言 語 が あ っ て , そ の 後 に さ ら に UI や OSF の 動 き も 見 逃 せ な い 。 と う い う 規 格 案 が 作 ら れ た の だ か ら , 当 然 と く に 最 近 で は 「 OSF は ア ブ ナ イ 。 AIX も 一 部 い え ば 当 然 の 話 だ 。 し か で き て い な い 」 な ど と い う 噂 も 贏 か れ て 最 近 よ く 耳 に す る 言 葉 に 「 ANSI 」 と い う の と い う こ と は , 現 状 で は ANSI 規 格 案 と い い る 。 そ う な る と IBM と い う 事 実 上 の 標 準 が あ る 。 ANSI は 「 American NationaI う の は 不 完 全 な も の な の で あ る 。 も 危 な く な る 。 現 状 は こ と UNIX に 関 し て は Standard lnstitute 」 の 略 で , ア メ リ カ で の 現 在 の 事 実 上 の C 言 語 の 標 準 は , パ ソ コ ン IBM は 標 準 で も な ん で も な い 。 歴 史 か ら い 標 準 化 委 員 会 の こ と で あ る 。 ア メ リ カ の 標 の 世 界 で は MS ー C CompiIer で あ る 。 そ の 証 っ て も UNIX は IBM と は ま っ た く 文 化 の 違 → 語 一 ( C 言 語 の 標 準 は ANSI 規 格 案 の 106 CMAGAZINE 19 4

月刊 C MAGAZINE 1990年4月号


特 集 ANSI C AN 概 論 ロ PART 野 田 誠 (SC22/CWG) て も , 円 90 年 が C 言 語 の 新 し い 出 発 の 年 と な る こ と は 確 実 て 採 用 さ れ る の を ま た な け れ ば な ら な い が , い ず れ に し が 円 89 年 に 月 に 正 式 承 認 さ れ た 。 旧 O に よ り 国 際 基 準 と し ANS に よ り そ の 仕 様 が 討 議 さ れ て い た C の 標 準 化 ド ラ フ ト 「 ANSI C 」 の ド ラ フ ト か , AN 委 員 会 で 最 終 承 認 さ れ た 。 こ の 規 格 は , プ ロ グ ラ マ に と っ て も , ま た コ ン バ イ ラ メ ー カ ー に と っ て も , 今 後 ひ と つ の 「 標 準 」 に な る も の だ ( 実 際 に は す で に 「 標 準 」 に な っ て い る ) 。 し た が っ て , C 言 語 で プ ロ グ ラ ミ ン グ す る も の に と っ て , 欠 く こ と の で き な い 基 礎 知 識 で あ る こ と に ま ち か い は な い 。 そ こ で , 今 月 号 と 来 月 号 の 2 回 に 分 け て 「 ANSI C 」 規 格 を 取 り 上 げ る 。 今 回 は , ANSI の 組 織 概 略 と , ANSI C に お け る 日 本 語 処 理 の 問 題 を , 日 本 の C ワ ー キ ン グ グ ル ー プ の メ ン バ に 解 説 し て も ら っ た 。 く は レ め て 「 ANSI C 」 規 格 が 承 認 さ れ た 。 後 は , ISO の 承 認 を 受 け れ ば , 「 ANSI C 」 規 格 が 国 際 規 こ で 承 認 格 と し て 通 用 す る こ と に な る 。 さ れ た 規 格 案 は , 基 本 的 に は 1988 年 12 月 の ド ラ フ ト で あ る 。 ド ラ フ ト 自 体 の 紹 介 に つ い て は , い す れ 連 載 を 始 め る つ も り な の で , こ で は 詳 し く は 説 明 し な い 。 本 特 集 で は , 42 CMAGAZINE 19 4 ANSI が 、 い か な る 組 織 で あ り , ど の よ う な 経 過 で C の ド ラ フ ト が 作 成 さ れ , 最 終 承 認 さ れ る よ う に な っ た の か を 見 て い き た い 。 「 ANSI C 」 規 格 の く 要 性 C 言 語 は , デ ニ ス ・ リ ッ チ ー に よ っ て 作 成 こ で 新 た さ れ た 高 級 言 語 で あ る こ と は , め て 説 明 す る ま で の こ と も な い で あ ろ う 。 C は 自 体 の 優 秀 性 に よ り , 作 者 自 に 1 ロ ロ に 1 ロ ロ 身 の 予 想 を は る か に 超 え る 規 模 で 広 が っ て い き , そ の 結 果 , い く つ も の 異 な っ た 移 植 や さ ま ざ ま な 拡 張 が 行 わ れ る よ う に な っ た 。 同 し 言 語 で は あ る が , 互 換 性 の な い 処 理 系 の 存 在 は プ ロ グ ラ マ や イ ン プ リ メ ン タ に と っ て 非 常 に 大 き な 問 題 と な っ て い っ た 。 こ の 問 題 の 原 因 と な っ た 最 大 の 要 素 は , C の 言 語 仕 様 書 が , プ ラ イ ア ン ・ カ ー ニ ハ ン と デ ニ ス ・ リ ッ チ ー に よ る 「 プ ロ グ ラ ミ ン

月刊 C MAGAZINE 1990年4月号


プ ラ か ら 高 級 言 語 へ 移 っ た と き の 進 歩 を 考 解 て 、 き る の て 、 す 。 言 語 に 概 念 が 直 接 入 っ て C か ら C 十 十 へ え て く だ さ い 。 演 算 を 行 い た い だ け な の に し ま え ば , 問 題 を さ ら に 直 接 的 に 扱 う ツ ー お の お の の ハ ー ド ウ ェ ア 特 有 の 事 柄 を 取 り ル が 作 成 て 、 き ま す 。 扱 っ て い た の が , 今 て 、 は 一 般 的 な 数 学 の 教 Simu に つ い て 簡 単 に 説 明 し て い た た Stroustrup こ う し て 私 は , 十 分 な ツ ー ル だ け ま す か ? 読 者 は あ ま り こ の 言 語 に つ 科 書 に あ る よ う な 数 式 を 書 け る ま て 、 に な り が な け れ ば , こ の よ う な 大 き な プ ロ ジ ェ ク ま し た 。 い い 換 え れ ば , 私 た ち 自 身 の 言 葉 い て は 知 ら な い と 思 い ま す の で 。 ト を 計 画 し て は い け な い の だ と い う こ と を て 、 演 算 を 表 現 て 、 き る の て 、 す 。 、 、 A 十 B = C ク を Stroustrup Simula は Simula67 と し て 知 学 び ま し た 。 私 が ほ し か っ た の は , プ ロ グ 、 、 Load register M ク な ど と 書 く 必 要 は あ り ら れ て い ま し た 。 Norwegian Computing ラ ム 設 計 を 援 助 し プ ロ グ ラ ム の 直 接 表 現 を Center て 、 1960 年 代 後 期 に イ ン プ リ メ ン ト さ ま せ ん し , 浮 動 小 数 点 加 算 て 、 あ る と か イ ン 援 助 す る た め の の ク ラ ス 概 念 と い く つ か の テ ジ ャ の 精 度 と か を 考 え る 必 要 も な い の て 、 れ た 言 語 て 、 す 。 C 十 十 と C の 関 係 同 様 , 型 チ ェ ッ ク を 行 う ツ ー ル だ っ た の て 、 す 。 そ こ ベ ル 研 究 所 て 、 こ う し た プ ロ ジ ェ す 。 A1g0160 の ス ー パ ー セ ッ ト に あ た り ま す 。 今 て 、 も 私 は , プ ロ グ ラ ミ ン グ 言 語 の 歴 史 A1g0160 と は 2 , 3 の 点 て 、 違 い が あ り 100 % の ク ト に 参 加 す る 機 会 が あ っ た と き に , あ ん に お い て こ の 点 は も っ と も 大 き な 進 歩 て 、 あ 互 換 性 は あ り ま せ ん が , 基 本 言 語 に ク ラ ス な こ と は も う 二 度 と 繰 り 返 す ま い と 決 め , っ た と 考 え て い ま す 。 科 学 用 演 算 て 、 は FOR 概 念 を 追 加 し , さ ら に こ の ク ラ ス 概 念 を サ ツ ー ル の 開 発 に 着 手 し ま し た 。 こ の ツ ー ル TRAN が , シ ス テ ム プ ロ グ ラ ミ ン グ 領 域 て 、 ポ ー ト す る い く つ か の 便 利 な も の を 提 供 し は ク ラ ス つ き の C と し て 始 ま り , 後 に C 十 十 は C な ど の 高 級 言 語 が 通 常 , 演 算 な ど を 直 接 て い ま す 。 SimuIa は 最 初 は シ ミ ュ レ ー シ ョ と な り ま し た 。 表 現 て 、 き ま す 。 こ の ツ ー ル 作 成 概 念 は UN Ⅸ 文 化 の 一 ン に 使 っ た の て 、 す が , 長 年 に わ た っ て い ろ 次 い て 、 ク ラ ス 概 念 に よ り , そ の ほ か の 概 部 で す ね 。 UN Ⅸ 特 集 の Be System Tech い ろ な 影 響 を 与 え て き ま し た 。 SmaIItaIk な 念 が 取 り 入 れ 可 能 に な り , そ の ほ か の ア プ nical Jou 「 n の 創 刊 号 に は 、 、 イ ン テ リ ジ ェ ど の ク ラ ス 階 層 の 直 接 の 祖 先 て 、 , オ プ ジ ェ リ ケ ー シ ョ ン 領 域 に 使 用 可 能 に な り , そ の ク ト 指 向 と 呼 ば れ る も の の 多 く が Simula の ン ス と は ツ ー ル を 作 成 す る 能 力 で あ り , と 言 語 に よ っ て 物 事 を 直 接 表 現 可 能 に す る オ ア イ デ ア か ら き て い ま す 。 Simula に は 今 て 、 く に ツ ー ル 作 成 用 の ツ ー ル を 作 成 す る 能 力 プ ジ ェ ク ト 型 が 作 成 て 、 き る よ う に な り ま し も 数 千 の ユ ー ザ が あ り , よ い コ ン パ イ ラ を で あ る ″ と あ り ま し た 。 購 入 て 、 き ま す 。 シ ミ ュ レ ー シ ョ ン の 勉 強 に Stroustrup ま っ た く そ の と お り て 、 す ね 。 C 十 十 の 基 本 と ク ラ ス 概 念 ( Simula か ら 導 は う っ て つ け の 言 語 て 、 す 。 プ ロ グ ラ ミ ン グ 言 語 は ツ ー ル , 概 念 ツ ー ル 入 ) の 基 本 は , あ る 概 念 が あ れ ば 、 、 こ の 概 念 と 考 え て い ま す 。 そ し て コ ン パ イ ラ , デ バ ク ラ ス と を 表 現 す る 型 を そ の 言 語 て 、 設 計 し ま し よ う 。 ッ ガ , リ ン カ , 工 デ イ タ な ど の 言 語 を 使 い ユ ー ザ イ ン タ フ ェ イ ス そ う す れ ば そ れ を 使 う こ と が て 、 き ま す 〃 と こ な す た め の ツ ー ル が 必 要 に な り ま す 。 い う 能 力 て 、 す 。 と オ プ ジ ェ ク ト 指 向 C 十 十 と す な わ ち , 取 り 組 ん て 、 い る 実 際 の 問 題 と ク ラ ス 概 念 プ ロ グ ラ ム が 一 対 一 の 関 係 に 近 づ く わ け て 、 ク ラ ス の 概 念 と オ プ ジ ェ ク ト 指 向 プ ロ す 。 頭 て 、 ト ラ ン ス レ ー シ ョ ン は し ま せ ん 。 グ ラ ミ ン グ は ど う 区 別 さ れ ま す か ? そ の 概 念 は プ ロ グ ラ ム の 中 に あ る の て 、 , 次 Stroustrup ク ラ ス は オ プ ジ ェ ク ト 指 向 言 ク ラ ス の 概 念 と プ ロ グ ラ マ に と っ て の 語 の 基 本 概 念 て 、 す 。 オ プ ジ ェ ク ト 指 向 プ ロ に だ れ か が プ ロ グ ラ ム を 読 ん て 、 も , そ の プ 利 点 を 簡 単 に 基 礎 的 な 方 法 で 教 え て く だ さ グ ラ ミ ン グ は ク ラ ス 概 念 を 利 用 し て プ ロ グ ロ グ ラ ム が 何 な の か , 概 念 が ど ん な も の な ラ ム を 書 く 方 法 て 、 す 。 言 語 に ク ラ ス 概 念 が の か が コ メ ン ト や う わ さ に 頼 ら な く て も 理 Stroustrup わ か り ま し た 。 ま ず , ア セ ン あ れ ば オ プ ジ ェ ク ト 指 向 プ ロ グ ラ ミ ン グ を う ま く 行 う こ と が 可 能 て 、 す 。 な け れ ば 何 か て 、 代 わ り を す る し か あ り ま せ ん 。 そ う す る と , と き に は 好 ま し く な く な る こ と も ・ ・ オ プ ジ ェ ク ト 指 向 プ ロ グ ラ ミ ン グ と そ の 本 質 に 関 し て , 現 在 ユ ー サ の 仕 事 を 楽 に

月刊 C MAGAZINE 1990年4月号


ス は 通 常 ほ と ん ど の 時 間 , ュ ー ザ 待 ち し て す る た め の た く さ ん の ユ ー ザ イ ン タ フ ェ イ い る か ら 問 題 に な ら な い の て 、 す 。 ス が 生 ま れ , そ し て い く つ か の 点 に お い て 天 候 シ ミ ュ レ ー シ ョ ン と か ? そ れ が オ プ ジ ェ ク ト 指 向 だ と 主 張 し て い ま Stroustrup そ う , 天 候 シ ミ ュ レ ー シ ョ ン す 。 ま ず 頭 に 浮 か ん だ の は , た と え ば ス テ も そ う て 、 す 。 し か し C 十 十 は コ ン パ イ ラ や シ ィ ー プ ・ ジ ョ ッ プ ス の NextStep だ と か , プ ミ ュ レ ー シ ョ ン , そ し て そ の ほ か の そ れ ほ レ ゼ ン テ ー シ ョ ン マ ネ ー ジ ャ , OSF/Motif ど ハ デ て 、 は な く て も た い へ ん 重 要 な シ ス テ な ど の 最 近 発 表 さ れ た イ ン タ フ ェ イ ス で す ム に 適 応 て 、 き ま す 。 が , C 十 十 と 今 , 発 表 さ れ て い る イ ン タ フ ェ て 、 す か ら C 十 十 に は け っ こ う な ユ ー ザ イ ン イ ス と は ど う い う 関 係 に な る の で し よ う か ? タ フ ェ イ ス が あ り , そ う , そ れ は オ プ ジ ェ Stroustrup お お ま か な 話 , オ プ ジ ェ ク ト ク ト 指 向 て 、 す が 。 オ プ ジ ェ ク ト 指 向 を た ん 指 向 プ ロ グ ラ ミ ン グ と ユ ー ザ イ ン タ フ ェ イ に ユ ー ザ イ ン タ フ ェ イ ス と 考 え る な ら , ス ス は 無 関 係 て 、 す 。 み ん な が オ プ ジ ェ ク ト 指 タ ン フ ォ ー ド 大 学 か ら InterViews を 無 料 て 、 向 と 騒 い て 、 い ま す が , 一 部 の 人 の 気 持 ち の 入 手 て 、 き ま す 。 こ れ は Xwindow 用 の C 十 十 う え て 、 は た ん に 、 、 よ い こ と 〃 を 意 味 し て い オ プ ジ ェ ク ト 指 向 ツ ー ル キ ッ ト て 、 す が , も ま す 。 何 て 、 も オ プ ジ ェ ク ト 指 向 と 呼 べ ば よ し Xwindow が オ プ ジ ェ ク ト 指 向 ( そ う て 、 あ っ く 見 え る と 思 っ て い る の て 、 す 。 商 業 界 に は 大 き な 影 響 を 与 え て い ま す が , そ こ て 、 い わ て ほ し か っ た の て 、 す が ) な ら ば だ れ も こ ん な ゆ る オ プ ジ ェ ク ト と 呼 ば れ る も の は , ほ と お か し な ツ ー ル キ ッ ト は 必 要 な か っ た の て 、 す 。 CommoWindows な ど の PC ュ ー ザ 用 の ん ど 私 の い う オ プ ジ ェ ク ト 指 向 と は 無 関 係 C 十 十 ュ ー ザ イ ン タ フ ェ イ ス も あ り ま す が , ュ ー ザ イ ン タ フ ェ イ ス を オ プ ジ ェ ク ト 指 向 し か し オ プ ジ ェ ク ト 指 向 テ ク ニ ッ ク を 使 プ ロ グ ラ ミ ン グ の 側 面 て 、 あ ま り 強 調 し た く う と 本 当 に す ば ら し い ユ ー ザ イ ン タ フ ェ イ ス が 作 成 て 、 き ま す 0SmalltaIk は こ の 領 域 て 、 は あ り ま せ ん 。 何 が て 、 き る か の す ば ら し い 例 て 、 す 。 Lisp の 各 方 言 て 、 ク ラ ス と ク ラ ス 階 層 を 使 っ た 言 語 に つ い て も 同 じ こ と が い え ま す 。 Macintosh 低 1 年 間 は か か る て 、 し よ う 。 そ の 理 由 は こ の も そ う て 、 す 。 そ し て 必 要 な の は ク ラ ス て 、 は な く ク ラ ス 言 語 に つ い て は る か に た く さ ん の 知 識 が 必 仕 事 量 と サ ポ ー ト ア ー キ テ ク チ ャ の 必 要 だ か ら て 、 す 。 C 十 十 に つ い て よ い 仕 事 を し 階 層 す な わ ち C 十 十 て 、 は 派 生 ク ラ ス ( 導 出 ク 要 事 項 の 両 方 の 点 で , C 十 十 コ ン パ イ ラ を 書 ラ ス ) て 、 あ る , と い う こ と が あ ま り 理 解 さ れ よ う と 思 え ば , コ ン パ イ ラ 内 部 の プ ロ グ ラ ム く の は C に 比 べ て ど の く ら い 楽 で す か ? 構 造 を も っ と た く さ ん 表 現 す る 必 要 が あ り て い ま せ ん 。 そ し て 必 要 て 、 あ り な が ら , ど う Stro u stru p C 十 十 の 設 計 を し た と き に は い う も の て 、 あ る か 本 当 に は 理 解 し な い ま ま ま す 。 し た が っ て , お お よ そ C コ ン パ イ ラ ブ 1 メ ガ バ イ ト 以 上 の メ モ リ と 1MIPS(MiIIion lnstructions Per Second) 以 上 の CPU が 必 ラ ス 1 年 間 て 、 す ね 。 目 を つ ぶ っ て し ま っ て い ま す 。 い い 換 え れ 要 だ と 想 定 し ま し た 。 イ ン テ ル 80286 上 て 、 動 ば だ ま そ う と し て い る の て 、 す 。 も う ひ と つ , C 十 十 と 作 す る コ ン パ イ ラ が あ り ま す の て 、 , 実 際 に 初 期 の オ プ ジ ェ ク ト 指 向 言 語 は イ ン タ ブ リ ハ ー ド ウ ェ ア タ だ っ た の て 、 ス ピ ー ド が 遅 か っ た の て 、 す 。 は そ の 半 分 の リ ソ ー ス て 、 す む こ と に な り ま す 。 C 十 十 コ ン パ イ ラ の 作 成 期 間 は C の 2 倍 く そ こ て 、 ス ヒ 。 ー ド や コ ン パ ク ト さ が 問 題 に な ア ー キ テ ク チ ャ る コ ン パ イ ラ の 性 質 て 、 は な く , ス ピ ー ド の ら い て 、 し よ う 。 遅 さ が 問 題 に な ら な い よ う な 適 応 領 域 , た C コ ン パ イ ラ が あ れ ば 3 か 月 か ら 6 か 月 て 、 既 存 の ハ ー ド ウ ェ ア ア ー キ テ ク チ ャ の と え ば ユ ー ザ イ ン タ フ ェ イ ス な ど を 見 つ け C 十 十 ヘ ア ッ プ グ レ ー ド 可 能 と 考 え る 人 が 多 な か で , よ い C 十 十 コ ン パ イ ラ を 書 く の に 最 い の て 、 す が , そ れ は ま ち が っ て い ま す 。 最 適 ( そ し て 最 悪 ) な も の は ど れ で し よ う ? よ う と し て い ま し た 。 ュ ー ザ イ ン タ フ ェ イ C 十 十 コ ン パ イ ラ の 作 成 B. Stroustrup C 十 十 の 生 み の 親 C 十 + の 生 み の 親 13