今年の6月26日,マイクロソフトはC++の次世代仕様として,C#(C sharp)言語仕様書をECMA〔Standardizing Information and Communication Systems(http://www.ecma.ch/)〕に提出(ECMA TC39)したとの報告を行いました.そして日本では,7月26日〜28日に横浜で行われたTech-Ed 2000において,「.NET」プラットホームおよびVisual Studio 7.0の評価版配布などが行われました(図1).これからマイクロソフトがC#を強く推していくことは間違いないでしょう.
〔図1〕Visual Studio 7.0
|
![]() |
さて,ではこのC#とはいったい何なのでしょうか? Visual J++やVisual C++といった言語ツールは有名ですが,C#言語はC++とJ++の良い面を取り込み,ネットワークプログラミングにOOPの手法をより強く結びつける言語として設計されています.
● .NET構想
C#の説明をする前に,マイクロソフトが発表した.NET構想について解説します.C#と.NET構想には深い関係があります.
.NETは,システム,言語,アプリケーションなどの操作性や開発環境をより親密にし,ネットワークを通して一つの共有世界を構築するという大きな構想です.これは単一のコンピュータからネットワークグループまで含まれており,COM+をはじめとした統一サービスの複数のレイヤを通して,適切かつ短時間にWebベースドキュメントの生成や公開(セキュリティに基づくものも含む)を行うといった非常に大がかりな展望でもあります.現代の「バベルの塔」とでもいうべきでしょうか.
もちろん,その中には異なるプログラム言語間の共通化,異なるシステム間における共通の通信システム,アプリケーション間のデータ共有――Office2000のような異なる目的のアプリケーション間でも互いにデータを共有しあう(今まではDDE,OLE,COMのように内部的に共通化されていた)といったことも含まれます.たとえば,ExcelからHTMLデータを書き出し,FrontPageのようなHTMLデザインアプリケーションで編集するといったことです.
この.NET構想のもとに,.NETプラットホームがVisual Studioを中心として構成されます.具体的には,主要言語であるBasic,C++に加え,Visual FoxProによるCOBOLの搭載,そして.NETプラットホームIL(中間言語)搭載による言語間の差異の解消などがあります.さらに,従来のネイティブコンパイラと併用することによる効率の良い開発環境をめざしているようです.
簡潔にまとめるなら,これまでマイクロソフトが進めてきた統一化・共通化技術の集大成といえるでしょう.
図2に,.NET構想の概念図を示します.今まで,これらはそれぞれ固有のデータとしてFTPやWWW,電子メールなどを仲介して送受信を行っていましたが,.NET構想では,ネットワークフォルダがあたかもローカルフォルダのようにふるまいます.また,ネットワーク自体も仮想化されるため,エクスプローラ本体のみでファイルの転送などを行うことができ,異なるアプリケーションソフトであってもデータの共有ができます.
〔図2〕.NET構想の概念図
|
![]() |
▲.NETとOffice2000
業務レベルで見た場合,インターネットを単にデータベースや通信テクノロジ,開発言語といった要素技術だけで語ることはもはや意味をなさなくなります.
ワープロ,表計算,データベースなど,いろいろなアプリケーションがWeb形式のデータ出力に対応し,開発ソフトに依存せず,またネットワークを意識することなく情報の共有や動的な更新などを行えるようになるでしょう.
したがって,Officeなどが.NETに対応することで,より使いやすくなると予想されます.
プロローグ 次のVisual Studio .NETの実行モデル .NET IL(Intermeditate Language) C#について C#の概要 |
Copyright 2000 広畑 由紀夫