言語 - みる会図書館


検索対象: 月刊 C MAGAZINE 1990年4月号
91件見つかりました。

1. 月刊 C MAGAZINE 1990年4月号

実践 C プログラマ 養成講座 三田典玄の イラスト・山形彰吾 第 - 7 回 準はそのまま日本の標準になるのが慣例だ 拠に , ポーランドも 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 とかがでてきて 書名ではない。最近の UNIX や最近でてきた おり , とにかく「標準」と呼べるものはない。 よりもはるかにこの規格案そのものの意義 C 言語 , それにまつわる技術や文化について 「オプジェクト指向」ということであれば は大きくなったことは確かである。それほ の話題を追ってみようというのである。 ど C 言語は「生き延びた」言語だったのであ C 十十も AT&T 本命だから , かなりシェア 前回まではソースリストの山だったので , を取りそうに見えるが , いすれもオプジェ る。 今回は「ちょっと息抜き」という意味もこめ クトへの指向の仕方が中途半端である , と この規格案の詳細を見ると K & R に比べて て , C 言語と UNIX についてのよもやま話を いう下馬評ばかりが聞かれ , まだまだ研究 , さほど大きく変わってはいない。自然言語 しようと思う。 が文法から作られたのではなく , 言語があ 趣味という分野を越えるものではないよう って , 後で文法が研究されたというように である。 さらに UI や OSF の動きも見逃せない。と C 言語も , ます C 言語があって , その後に くに最近では「 OSF はアブナイ。 AIX も一部 ういう規格案が作られたのだから , 当然と しかできていない」などという噂も贏かれて いえば当然の話だ。 最近よく耳にする言葉に「 ANSI 」というの いる。そうなると IBM という事実上の標準 ということは , 現状では ANSI 規格案とい がある。 ANSI は「 American National も危なくなる。現状はこと UNIX に関しては うのは不完全なものなのである。 Standard lnstitute 」の略で , アメリカでの IBM は標準でもなんでもない。歴史からい 現在の事実上の C 言語の標準は , パソコン 標準化委員会のことである。アメリカの標 っても UNIX は IBM とはまったく文化の違 の世界では MS ー C Compiler である。その証 UNIX と新しい C 言語。 C 言語の標準は ANSI 規格案か 106 CMAGAZINE 19 4

2. 月刊 C MAGAZINE 1990年4月号

Lattice C ビジネスパック Lattice C Ve に 4 」十 C - 旧 AM 十 C - TOOL / 98 レⅲ C/DOS C-ISAM C-TOOL/98 C ・ : 0 曾下 2 「シリース 言語ビジネスプログフミング ー物第をま第物ミ ! 【対応機種】 : PC -9801 シリー バック内容相当価格 ¥ 128 , 000 ¥ 157 , 600 ビジネスの世界で C 言語を 256 倍役立てたい方に / 業界のスタンダード言語として C 言語は、実に様々なプログラミングで幅広く使われています。 Lattice C と C-ISAM 及び C-TOOL/ その中でも取分け企業内開発などで、 〇テータ処理システムや、△△管理システムなどと銘 98 を使用してピジネスソフトを作成するノウ ハウを実戦に即して解説した解説書「 C 言語 打ったビジネスアプリケーション開発の需要は、今後も益々増え続けるであろう事か予想され ヒジネスプログラミング」をピジネスパック ます。 300 本分に限って、無料進呈致します。 Lattice C ビジネスパックは、 MS - DOS 上での C 言語の標準とも言える Lattice C CompiIer に、 dBASE 互換テータベース管理用ライプラリ C-ISAM と、グラフィクス・マ C 言語ピジネスプログラミング ウス・プリンター・ BCD 演算など NEC PC -9801 ハードウェアを多目的に細かくサポートす るライプラリ C - TOOL / 98 を加えた、正にピジネスユースのアプリケーション開発に最適な、 Lattice C Ver. 4.0 的を絞った Lattice C 特別バック企画製品です。 C よ TOOL / 98 C-ISAM による ビジネスソフトの作り方 C - 旧 AM 製品概要 C - TOOL / 98 製品概要 著者・、・マクロ情報計画株石塚雅ー 出版元・、・日本技術出版株式会社 第 1 章・・・ C 言語によるピジネスアプリケーション NEC PC -9801 シリーズ上で、グラフィックス、 リレーショナル・テーターベース・システム d Lattice C Ve 「 . 4.0 BASE Ⅲ ( p 旧 s ) 、及び d 日 ASE Ⅳ互換のファイ やマウス、画面カーソルやファンクションキーの >C-ISAM C - TOOL / 98 制御、プリンター制御やサウンドボード制御など ル管理を C 言語で実現する Lattice C/DOS 第 2 章 ~ ピジネスアプリケーション , ライプラリ ve 「 . 4 用ライプラリです。インテックス ( NDX ) 、 の八一ドウェア制御、さらに 10 進演算旧 CD 演算 ) ビジネスシステムの構造 マルチインテックス ( MDX ) 、メモ ( DBT ) ファイ 等を含めて C 言語プログラミングで必要となる機 ヒジネスアプリケーション・ライプラリ 関数 能を、幅広くフレキシプルにサポートするライプ ルを伴った理想的なテータ管理が行えます。 く付録〉・・・応用事例販売管理システム ラリてす。 0 グド 0 ロ門ン 定ス記

3. 月刊 C MAGAZINE 1990年4月号

プラから高級言語へ移ったときの進歩を考 解て、きるのて、す。言語に概念が直接入って C から C 十十へ えてください。演算を行いたいだけなのに しまえば , 問題をさらに直接的に扱うツー おのおののハードウェア特有の事柄を取り ルが作成て、きます。 扱っていたのが , 今て、は一般的な数学の教 Sim a について簡単に説明していたた 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 は最初はシミュレーショ となりました。 表現て、きます。 ンに使ったのて、すが , 長年にわたっていろ このツール作成概念は IJN Ⅸ文化の一 次いて、クラス概念により , そのほかの概 いろな影響を与えてきました。 SmaIItalk な 部ですね。 UN Ⅸ特集の Be Ⅱ System Tech 念が取り入れ可能になり , そのほかのアプ nical Jou 「 n の創刊号には、、インテリジェ どのクラス階層の直接の祖先て、 , オプジェ リケーション領域に使用可能になり , その クト指向と呼ばれるものの多くが Simula の ンスとはツールを作成する能力であり , と 言語によって物事を直接表現可能にするオ アイデアからきています。 Simula には今て、 くにツール作成用のツールを作成する能力 プジェクト型が作成て、きるようになりまし も数千のユーザがあり , よいコンパイラを である″とありました。 購入て、きます。シミュレーションの勉強に Stroustrup まったくそのとおりて、すね。 C 十十の基本とクラス概念 ( Simula から導 はうってつけの言語て、す。 プログラミング言語はツール , 概念ツール 入 ) の基本は , ある概念があれば、、この概念 と考えています。そしてコンパイラ , デバ クラスと を表現する型をその言語て、設計しましよう。 ッガ , リンカ , 工デイタなどの言語を使い ユーザインタフェイス そうすればそれを使うことがて、きます〃と こなすためのツールが必要になります。 いう能力て、す。 とオプジェクト指向 C 十十と すなわち , 取り組んて、いる実際の問題と クラス概念 プログラムが一対一の関係に近づくわけて、 クラスの概念とオプジェクト指向プロ す。頭て、トランスレーションはしません。 グラミングはどう区別されますか ? その概念はプログラムの中にあるのて、 , 次 Stroustrup クラスはオプジェクト指向言 クラスの概念とプログラマにとっての 語の基本概念て、す。オプジェクト指向プロ にだれかがプログラムを読んて、も , そのプ 利点を簡単に基礎的な方法で教えてくださ グラミングはクラス概念を利用してプログ ログラムが何なのか , 概念がどんなものな ラムを書く方法て、す。言語にクラス概念が のかがコメントやうわさに頼らなくても理 Stroustrup わかりました。まず , アセン あればオプジェクト指向プログラミングを うまく行うことが可能て、す。なければ何か て、代わりをするしかありません。そうする と , ときには好ましくなくなることも・・ オプジェクト指向プログラミングとそ の本質に関して , 現在ユーサの仕事を楽に

4. 月刊 C MAGAZINE 1990年4月号

標準ライプラリ関数 匡毒司 五ロ はじめて学ぶ 0 プログラミング 第 6 回高木聡 / 山崎信行 匡ー司 ~ 匚ニコ 前回で関数を勉強しこれでやっと C 言語らしいプログラムかかけるよ うになったはずです。関数が使えるようになると , プログラムの幅か広 かり , 柔軟なプログラムか組めるようになります。というよりも , 関数 の集合体が C 言語のプログラムですから , ようやく C 言語のプログラミ ングの第 1 段階をクリアしたわけです。 C 言語には , 標準の関数のライプ ラリかあります。今回は「標準ライプラリ」についてお話します。 したがって , ヘッダファイルを見れば , そ それて、は , どの関数が標準て、 , どの関数 が標準て、ないか , 決まっているのて、しよう の関数についてだいたいのことがわかるわ か ? いちおうの目安はあります。 ANSI 規 けて、す。 格によって , C 言語の標準ライプラリが定義 C 言語は , 非常にコンパクトな言語て、す。 されているのて、す。 ANSI 規格は , C 言語の 今後の主流になることはまちがいないて、し たとえば , 今まて、なにげなく使ってきた scanf 旨仕様て、はな ようから , 本連載て、は , ANSI 規格て、定義さ や printf などの入出力は に 1 ロロ れているライプラリ関数を「標準ライプラリ く , 関数として提供されています。この場 標準ライプラリ関数は , その機能ごとに 関数」 , また , そのライプラリのことを「標 分類され , ヘッダにまとめられています。 合 , scanf や printf は , stdio. h をインクル ードして使います oscanf や printf のような 標準ライプラリ関数の型とマクロは , TbI. 1 準ライプラリ」とします。 C 言語に標準て、ついている関数のライプラリ のような標準ヘッダて、宣言されています。 ことを「標準ライプラリ」といいます。 C 言語 これらのヘッダ名を , すべて覚える必要は て、は , 標準ライプラリなして、は入出力もま [Tbl. 1 ] 標準ヘッダ まならないということになります。 ヘッダ名 標準ライプラリ関数の説明をする前に ただし , ここて、注意してほしいのは , C 言 こて、もう一度へッダについてお話します。 語についてくるライプラリ関数のすべてが assert. h ヘッダは , プロトタイプ宣言や , 定数 , グ 標準ライプラリ関数て、はないということて、 ctype. h ローバル変数などをまとめて管理するファ す。 C 言語のライプラリには , コンパイラを e 「「 no. h float. h 提供している各社からさまざまなライプラ イルて、す。また , これは分割コンパイルを limits. h するときなどに用いると便利て、す。さらに リ関数が提供されています。これらのなか locale. h は , 条件っきコンパイルなどの高度なこと には , 便利な機能をもった関数が数多くっ math . h け加えられています。自分ひとりて、プログ もて、きますが , それについては後て、お話し setjmp. h signal.h こうした関数を ます。 ラムを組んて楽しむには , stda 「 g. h こて、重要なことは , 標準ライプラリ関 使ってプログラミングをするのも悪いこと stddef. h て、はありません。しかし , プログラムの移 数も , すべてヘッダて、管理されているとい stdio. h 植性ということを考えると , どの処理系に うことて、す。つまり , 標準ライプラリ関数 stdlib. h st 「 ing. h て、もある ( 標準的な ) 関数を使うほうがよい は , その機能ごとに分類されて , プロトタ time. h イプ宣言がヘッダに書かれているのて、す。 てしよう。 120 CMAGAZINE 19 4 機 能 診断 文字クラステスト 工ラー 浮動小数点型のサイズ 整数型のサイズ 地域化 数学関数 非局所的ジャンプ シグナル 可変引数リスト 型のサイズ 標準入出力 ユーティリティ関数 文字列操作 日付の時刻

5. 月刊 C MAGAZINE 1990年4月号

SOFT BANK ・ Turbo C の奥義を示す Tu 「 bO C Ve 「 20 プロクラミンク 基本操作はもちろんのこと、内部処理の角斤をはじ め、 BGI の活用方法などト . 級操作も詳細に解 井上哲雄・酒井恵光・佐藤隆共著☆定価 2 , 900 円 ・初級 C 言語講座 PIay the C ( 上・下 ) C を身につけたい、これまて、の解説書て、はもの足り ない、そんな要求に応え C の世界を系統的にとらえ直 本青比古著☆定価各 1 , 550 円 して解説。 ・ C 言語の秘められた能力を解き放つ C プリプロセッサ・パワー C 言語の中て、も、とりわけ秘められたパワーをもっ プリプロセッサ機能の潜在能力を使いこなすにはどう すればよいかを解説。木昶青比古著☆定価 2 , 270 円 ・はじめての Turbo C プログラミンク Tu 「 bO C 入門 初心者にとってなじみのうすい「 TurboC 開発環境」 をたくみに解説しながら、具体的て示唆に富んだ用法 ニ 林晴比古著☆定価 2 , 680 円 をも満載。 ・最新 ANSI C 標準規格に完全対応 詳説 C 言語 H & S リファレンス C 言語プログラマから高い評価を受けている「 C : A Reference M 田 ulal 」第 2 版の完訳。 S ・ハービソン & G ・スティール共著☆定価 4 , 500 円 ・ MS ー C 活用の王道を示す MS-C Ve 「 .5.1 プログラミンク 基巣作からコンパイラの内部処理まて詳細に解説。 最童化のための手法、 ANSI 準拠のプログラミング作 法なども紹介。石田秋也ほか著☆定価 3 , 300 円 ・ Quick c の本格活用を示す QuickC プログラミング 工ディットからコンパイル・実行まて、の統合環境を 備えた「 QuickC 」の本格的入門ル 野口雄平・池田・中島昌ニ共著☆定価 2 , 680 円 ・ C STEP IJP シリース① 上級・ C 言語の応用 50 例 画面制御騙、ディスクドライプ制御騙ほか大きく 4 つに分け、それぞれくふうを凝らしてフログラムを作成。 上原・中山・石田・井上共著☆定価 2 , 480 円 ・ C STEP UP シリース② C 十十プログラミンク 今話題の言語、 C + + の本格的入門書。本書の各項Ⅱ をカード別にまとめ、サンプルリストや図版を豊富に 掲載。門内淳・赤堀一郎共著☆定価 2 , 680 円 ・ BAS ℃からのアプローチ C 言語の活用理解 具体例を数多く取り上げ、 BASIC の知識を有効に 利用しつつ、 BASIC から C へ順次移行て、きるように 保坂光・若林淳共著☆定価 2 , 060 円 解説。 ・基本からのアプローチ C 言語の基礎知識 短いけれど実用的なサンプルプログラムを紹介しな がら、 C 言語の基礎知識を解説しています。 門内淳・乗呆智・上原哲郎共著定価 2 , 500 円 ・実践からのアプローチ C 言語の応用 50 例 C 言語を使い 98 ー E て、どのようなプログラムが作れる のかを、豊富なサンプル例によって示しています。 上原・石田・乗松・中山・高木共著☆定価 2 , 370 円 はいーロ グ ? ツ UNIX ・はじめてのシェルプログラミングから IJN Ⅸ応用まで IJN Ⅸオペレーティングガイド UNIX の基礎知識から、シェルプログラミンク : MA CSYMA 、 s について豊富な例を用いながら紹介した 渡辺・岸本・佐藤共著☆定価 3 , 090 円 入門ル UNIX System V プログラマ・ガイドリリース 3.1 、ロ卩ロ、ア、パ、ツグ、オプ System V ReI. 3.1 について二・ ジェクトの操作等に関連するユーティリティ類および 定価 12 , 000 円 データ構造について解説。 UNIX System V ユーサ・ガイドリリース 3.1 UNIX System 環境の要素として有名なシェルや ⅵ、 ed 等の各種ェデイタおよび電子メールなど例を 示して解譓 定価 9 , 800 円 ☆印は税込み、無印は税抜きの定価です。 C 言語の応用 50 例

6. 月刊 C MAGAZINE 1990年4月号

クリランスセ - ル′ み。 c-programmer シリーズ シリーズ統一価格¥ 29 , 800 ( ' 90 年 4 月末迄 ) C 言語が誕生してからすでに 1 8 年の月日か経過し、現在では様々な開発現場で C 言語 は最もポピュラーな言語として幅広く使用されています。 凵 FEBOAT では、これまで C - P 「 og 「 amme 「シリーズを統一低価格で提供する 事によって、 C 言語開発環境の充実に努め、 C 言語の普及に貢献して参りました。お かげさまで、 C 言語の市場はもはや充分に成熟し、現時点でもとめられているのは必 ずしも C - P 「 og 「 amme 「シリーズのように「低価格で安心して使える」ツールだけ ではなく、より肌目細かく個々のユーサニーズに沿った特化型製品群であると考えま す。この現状に対応すべく、新たに、幅広い C 言語での開発環境を魅凵 FEBOAT TOOL ライプラリ″として今後提供していく所存です。 そのため、従来の C - P 「 og 「 amme 「シリーズの統一価格での販売を、 4 月末をもっ て、一旦終了させて頂きます。今後凵 FEBOAT では、シリーズ各既存製品と同等 以上の機能を持った魅 TOOL ライプラリ″製品群を順次発表してまいります。 C - P 「 og 「 amme 「シリーズ必要製品をまだ御購入されていない方にとっては、現行 価格で購入できる最後のチャンスとなりますので、何卒お見逃し無くこのクリアラン ス・セールを御利用下さい。 C 言語用多目的ツールライプラリ ソース付 プログラミング・チューン・アップッール C 言語用シンボリック・テ八ッガ C-SPRITE 高速データベースアクセスメソッド C-ISAM C 言語でのプログラミング用に企画・開発された多目的ツール・ライプラ男 ーー Lattice C ユーザーのアプリケーション開発に有効な、グラフィック関数、マウス関数、 サウンド関数など、約 100 の関数ライプラリをサポート。 プログラムの実行時間短縮を図る際の評価指標を与えるプログラミング・ユーティリティ。 プログラム実行時に副プログラムやサフルーチン関数、プロシージャなどに要している時 間の詳細なレポートを作成できる。 豊富な擬似命令と強力なマクロ機能をもつ、高機能シンホリック・ソースコード・デバッガ。 C を意識したソースデバッグモード / バックトレース / 8087 のサポート等でテパッグ作業を 効率的に行い、プログラムの生産性を高めることができる。 Lattice C 用の indexed Sequential Access Method ( 索引順アクセスメ ソッド ) ファイル用関数ライプラリ。大量テータを検索、更新でき高速処理のアプリケーシ * 英文マニュアル ョン作成の際、開発時間を大幅に短縮できる。 ・ Copyright Notice * C - MATH は株 LIFEBOAT と有京葉インフォメーションプロジェクトとの提携製品です。 * C - GP 旧 / 98 は株凵 FEBOAT と株工イビイラボとの提携製品です。 * Lattice C CompiIer は Lattice,Inc. の商標です。 * C - WR 灯 ER / 98. C - TOOL / 98 は株 LIFEBOAT の商標です。 * C - Ⅷ NDOW / 98 は株凵 FEBOAT と株タカフジ技研との提携製品です。 *C-SPRITE,C-RUNTIME は株凵 FEBOAT と Lattice,lnc との提携製品です。 *C-LOCATE は &LIFEBOAT と Systems&Software,lnc. との提携製品です。 * C - MODEM / 98 は株凵 FEBOAT と株プート・システムズ・ジャパンとの提携製品です。 * C-ISAM は *LIFEBOAT と copia lnternational, Ltd. との提携製品です。 * C - 日本語 / 98 は株凵 FEBOAT と株工ルゴソフトとの提携製品です。 *C-MASM は *LIFEBOAT と C 釦 u 代 e,lnc. との提携製品です。 ※価格に消費税は含まれておりません。 * C - ENTRY / 98 は椈凵 FEBOAT と株インフォメーションアナリシスとの提携製品です。 *C-PROFILER は &LIFEBOAT と Age of Reason 社との提携製品です。

7. 月刊 C MAGAZINE 1990年4月号

の現状 である。すべての C 言語の議論は ANS を基準にして行わ れ , すべての C 言語の拡張・修正もまたこの仕様を基準に して行われていくようになるだろう。標準がとにもかく にも制定されたことの意味は大きい。 グ言語 C 』の APPENDIX に書かれているも のしかないということがあげられる。 そもそもこの本に書かれている内容は , 完全でもなく , 正確に明記されているわけ でもない。しかも , 言語自体の成長や新し いアイデアの組み込み , 言語自体の欠点と いう問題もある。 そこで , ANSI(American National Standards lnstitute, 米国国内規格協会 ) で は , C 言語の曖昧さを払拭し , マシンに依存 しないプログラミングを可能にする正確な 定義を行うため , C を討議する委員会 X3J11 を設置した。 ANSI には , いくかの委員会があるが , そ のなかのひとつに , X3 と呼ばれる , コンピ ータと情報処理 (Computers and lnfor- mation Processing) に関する規格委員会が 存在する。そして , この X3 の下には , メデ ィアやデータベース , コンピュータグラフ イクや言語などに関する Technical Com- mittees が存在し , さらにその下にいくつか の Sub Committees がある。 TechnicaI Committees には A から V まで 衄に関する の記号が割り振られており 「コロロ Technical Committees は , X3J と命名され ている。 X3J の Sub Committees では , さま ざまな言語について討議されていて , この うち C を討議する TechnicaI Committee が , X3J11 と呼は・れているのだ。委員会の構成メ ンバは以下のとおり。 ・役員 議長 (Chair) : ジム・プロディ (Jim Brodie) J. Brodie & Associates トーマス・プラム (Thomas Plum) 副議長 (Vice-Chair) ・ 書記 (Secretary) ・ Plum HaII Phraner Assoceates ラルフ・フレイナー (Ralph Phraner) Microsoft ラルフ・ライアン (Ralph Ryan) 環境分科会議長 ・技術指導 Prime Computer (Andrew Johnson) ジョンソン アンドリュー 語彙担当 (vocabulary Representative) ・ Lattice , lnc. スティープ・ノ、一ス (Steve Hersee) 羽肥 Jaumal of C Language レックス・ジェクス (Rex Jaeschke) (lnternational Representative) 国際化担当 lntermetrics , lnc. ビル・プラウガー ( P. J. PIauger) 語分科会議長 ローレンス・ラスレー (Lawrence Rosler) AT&T ライプラリ分科会議長 ピル・プラウガー ( P. J. PIauger) lntermetrics , lnc. 特集 ANSI C の現状 承認されると国際標準となる。 ISO の組織内 ization, 国際標準化機構 ) に提出し , そこで national Organization for Standard リカ国内の標準でしかないので , ISO ( lnter ANSI で最終承認されたドラフトは , アメ 組織 , Fig. 2 ANSI の組織参照 ) 。 構成員が出席している (Fig. 1 X3 委員会の ンパイラメーカー , さらに , AT&T からも Microware, Oregon, Whitesmith などのコ して Microsoft, BorIand, MetaWare, lntel, MotoroIa などのチップメーカー , そ ドメーカーや , Texas lnstruments, Microsystems, Tandem, Unisys などのハ Cray, DEC や StelIar, IBM, Sun また , 委員会には Apple や AP0110 , lntermetrics , lnc ランディ・ハドソン (Randy Hudson) 理由書 (Ratinale) 改訂 AT&T ローレンス・ラスレー (Lawrence Rosler) AT&T デビット・プローサー (David F. Prosser) ドラフト改訂

8. 月刊 C MAGAZINE 1990年4月号

4 月魁の限題売 C-RUNTIME Scientific Sub 「 outine Package 簡易記述型マクロセット C-MASM 画面操作支援ツール C 言語オリエンテッドエテイタ C - WR 灯田 / 98 カナ・漢字変換ライプラリ C 旧本語 / 98 GP 旧テパイス・ドライバ & C 言ンターフェ関数ライ方リ ウインドウ & メニューライプラリ 数値計算ライプラリ C-MATH 日 OM 化ユーティリティ C-LOCATE 5 1 8 9 0 」」 2 一馮 C 言語の入門、中級者向けの製品。 Lattice C の RIJNTIME Sou 「 ce の約 350 の 関数のうち、「プログラム言語 C 」 ( K & 日著、石田晴久訳、共立出版 ) に出ている標準的な 約 80 関数のソースプログラムを提供。基本的な関数の使い方を理解するために不可欠。 C 言語用科学技術計算ライプラリ託 087 ・ 80287 の能力を極限まで引き出すようプログラ ミングされており、三角関数などの初等関数から直交多項式、ケルヒン関数までの多彩な 関数を高速に計算することが可能。 * 英文マニュアル C 言語の関数として使用するアセンブラブログラムを容易にカつ汎用的、構造的に記述す るためのスノヾー・マクロセット。記述したアセンプラソースは MS - DOS 上で実行可能 なほとんどの C コンパイラに対応している為、コンパイラを変更した時のアセンプラソ←ス の修正作業は不要。 画面ファイルを作成するユーティリティ MKDSP により、予めテキスト部分や入力及び 出力フィールドを編集し、画面イメージを作成してしまう方法でプロクラム設計が行え、ユ ーサープログラム上では 0 ー ENT 日 Y のライプラリ中の画面インターフェース関数をコ ールするだけて、簡単ゐっ柔軟性に富んだプログラミングが可能。 ベストセラーのマルチ・スクリーンエデイダ日 ED 十十」を特に C 言語騙集用にチューン・ ナップした C 言語オリエンテッドエデイタ。他言語の編集や簡易ワープロとしても機能を発 揮する。 カナ漢字変換ライプラリ。この製品の使用により、これまで大変な労力を必した日本語 処理を完全実現。ライプラリは編集ライブラリと変換ライプラリの 2 つの処理系を持ち、簡 単なアプリケーションから本格的な日本語ワープロまでの幅広い開発をサポート。 MS ー DOS 上で GP 旧とのインターフェースを実現するためのデバイス・ドライバ。日 A ー SIC ライクな C 言語のインターフェース関数 ( ソース付 ) で C から GP 旧をコントロール できる。アセンフラから図 nt D 旧でアクセス可能。 PC -98 田で、計測機器の制御を行 うのに最適。 アプリケーション開発時のめんどうなユーザーインターフェース ( 操作方法 ) を考えること なく、目的のプログラミングに専念できる。付属のメニュー、アラート、ダイアログなどと共 に使用することで、マウスで簡単に扱える高度な環境を提供。 DOS のファイル八ンドルを使用したレベルの日 S ー 232C 入出力のみではなく、 C 言語だ けでは作成が難しい複雑な機能 ( ターミナル環境の作成、日 S ー 232C の制御 ) が簡単に実 現できる。サンプルとして本格派ターミナル・ソフト付き。 行列計算や、統計データ処理、複素数計算などをサポートする 55 個の関数が含まれる。関 数は全て、数値演算プロセッサをコントロールするアセンプラで記述されているため、非常 に高速に演算処理が行える。 Lattice C Comp ⅱ e 「で作られた siAPX86 / 87 / 88 月 86 の組込システム用プログラ ムを日 OM 化するためのツール。プログラムは日 OM へ、テータは日 AM へという割り付 けが、セグメント単位で自由にコントロール可能。 株式会社 LIFEBOAT 日 S -232C & ターミナルインターフェース・ライ方リ 【お求め方法】当社製品は、パソコンソフト取扱い店でお求めいただけますが、 弊社に直接こ注文の際は、凵 FEBOAT INDEX 事業部 (TEL: 03-293-3887 ) までお問い合わせ下さい。 〒圓ー東京都千代田区神田錦町 3 ー 6 PHONE : 03 ー 293 ー 47 Ⅱ代 FAX : 03 ー 293 ー 4 引 0

9. 月刊 C MAGAZINE 1990年4月号

研究所へ来られたのですか ? Stroustrup 拒否て、きないほどのはい ) 条 件を提示されたんて、す。 こには優秀な人 たちがいたし , おもしろいことがて、きる自 由がありました。 ベル研での環境 最初にここに来られたときにはコンピ ュータ言語環境はどのようなものでしたか ? また , どんなツールがありましたか ? Stroustrup 最初に来たころは , いわゆる UNIX システム 7 が DEC の PDP ー 11 / 70 上て、動 いていました。あまり記憶がはっきりしま せんが , PDP ー 11 / 45 も奥の部屋て、リタイア していたように思います。しかし , 現在知 られている UNIX ツールの多くがすて、に存在 コンピューティング環境以上に人の問題 が重要て、した。 というのは , 多くの時間を 各自の部屋て、働く人たちて、さえ UNIX ルーム ( ほとんどの UNIX ターミナルを置いてある 部屋 ) て議論や勉強にかなりの時間を費やし たのて、すから。コンピューティング環境は コンヒ。ュータのなかにあるだけのものて、は ありません。コーヒーメーカは CPU と同じ くらい重要て、した。 どのような人たちと親交がありました ィープ・ポーン , スティーフ・ションソン , Stroustrup サンディー・フレーザ , ステ 成 , スティープ・ジョンソンはポータブル ンは標準 UNIX シェル (Bourne Shell) を作 へん重要な仕事を行い , スティープ・ボ、一 ソンは UNIX 上のネットワークて、初期のたい ( サンディー・フレーザとグレッグ・チェッ ほとんどが UNIX ラボて、働いていた人々て、す グレッグ・チェッソン。それくらいて、すね。 モリス , プライアン・カーニハン , それに もちろんデニス・リッチー , ポプ・ そうスティープ・ジョンソンとはよく話し C コンパイラを作り , ボ、プ・モリスは世界的 に高名なコンヒ。ュータセキュリティの専門 家て、あり , プライアン・カーニハンととも にたくさんの UNIX ツールに貢献 , デニス・ リッチーは UNIX と C の開発者 ) 。 C の周辺 当時このグループで使っていたコンピ ュータ言語は C でしたね。慣れるにしたがっ て C のどこがよい点と感じ , どんな点がいや だったり不足していると感じましたか ? Stroustrup 当時て、は珍しいことて、すが , 実はここに来る前に多少 C を知っていたのて、 す。 1970 年代の話て、 PC 時代の前て、す。 ケンプリッジて、の経験の後て、 , 驚いた とに基本的には C を使えばやりたいことが何 て、もて、きたのて、す。 UNIX はオープンシステ ムて、ありオペレーティングシステムに手を 延ばすことが可能て、 , あるかぎりのツール に手を出すことがて、きました。何かアイデ アがあればそれを表現することがて、きたの て、す。効率よく何かを実行するアイデアが あればそれも表現て、きました。 当時は何かをしようとしても言語による 制限が多すぎました。、、スヒ。ードならだいじ ようぶ。ただしスーパーオプティマイジン グコンパイラが必要て、 , それは来年まて、て、 きないし , 値段が高くて手の届かないマシ ンが必要て、す〃と多くの言語が語っていま した。しかも通常のデバッキングコンパイ ラと比べると , 最適化コンパイラにはいく つものバグと制限があり・・ したがって単純なコンパイラて、まあまあ のスルーブットが得られるということ , そ れが重要てした。 C の欠点 Stroustrup C に関して好きになれなかっ たのは , たくさんの領域にわたって C て、書く B. Stroustrup C 十十の生みの親 と , 正しく動くことよりまちがっていること のほうが多かったからてす。プログラムを 書くためのファシリティ (facility : 設備 , 便宜 ) が不足し , プログラムの解決方法を考 えるためのファシリテイも備わっていませ ん。 Simula ( シミュレーションのためのすぐ れたファシリティをもっている汎用コンピ ュータ言語 ) を知っていたのて、 , その言語を 使って表現するだけて、なく , 達成したい解 決方法を考えるのにもクラスの概念が強力 て、あることはわかっていました。私の本の 冒頭には , 考えられることへの影響 , そし て考えられることへの制限を言語が与える ということについてのドイツの哲学者ヴォ ルフの言葉を引用しています。 医学の分野で , 病名を発見するまでは 治療法がわからない , という状況がありま すが , それに似ていますね・・・ そのようて、す。ソフトウェア Stroustrup というメディアをしつかり把握するのはた いへん困難て、す。具体的て、はないし , 機械 設計て、は起こりようもないばかげた失敗を することさえあります。したがって , もっ 言語は想像の対 と言語の助けがほしいし , 象にまて、影響を与えたりします。 C や BCPL に不足していたのはこのような ' とて、す。ケンプリッジて、シミュレーショ ンをしていたとき , Simula て、ものすごくい いものが書けました。 とてもおもしろかっ たのて、すが , やはり手に負えませんて、した。 IBM メインフレームを停止状態にしてしま ったのて、す。博士号なして、ケンプリッジを 去るか , ほかの方法て、シミュレーションを 行うかどちらかて、した。そこて、 BCPL て、プロ グラムを書き直しました。 BCPL は C の祖先 て、あり , (BCPL から C を見ると ) まるて℃が 高級言語に見えました。 BCPL て、記述するの はたいへんて、したが , 一度書き終えると目 も眩むほど高速て , ほかにだれもコンビュ ータを使っていなければ・・ C 十十の生みの親 11

10. 月刊 C MAGAZINE 1990年4月号

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