ボーランドの.NET戦略 |
||||
聞き手、文責:デジタルアドバンテージ |
||||
|
DelphiとC#の混合開発を支援するC# Builder
―― ボーランドはすでにC#開発環境のC# Builderを発売していますね。先ほど.NET戦略のポイントとしてDelphiやJavaの開発者の.NET環境への移行支援がありましたが、C# Builderはどのような位置づけになるのでしょうか。
藤井:.NETの長所の1つは、システム開発において異なる言語の混在が可能なことです。これに対しC# Builderには、DelphiとC#でボーランド独自の共通開発環境をサポートするという意味があります。前後しましたが、.NET対応版として現在開発中のDelphi 8が登場すると、C# Builderの位置づけがより明確になると思います。Delphiのみですべてを開発するケースもあるでしょうが、今後はDelphiとC#を混在させて.NETアプリケーションを開発するケースが増えるでしょう。このようにDelphiとC#の両方を視野に入れて開発しようとする開発者にとって、DelphiとC#が共通のIDE(統合開発環境)でサポートされるのは非常に便利なはずです。将来的には、DelphiとC#を統合したパッケージも提供することになるでしょう。 |
―― Delphiベースの開発者が.NETに移行しようと考えたときに、中心はDelphiで開発するが、C#が適した部分にはC#を使えるようにする、ということでしょうか。
藤井:それもありますが、C# Builderには、それ以外にもモデル指向開発支援のBorland ECO(Enterprise Core Objects) for .NETを提供すること、豊富なデータベース・アクセス機能を提供することが特徴として挙げられます。 |
―― ECOについては後ほど詳しく伺うとして、豊富なデータベース・アクセス機能とは、具体的には何でしょうか。
奥村:BDP(Borland Data Provider) for ADO.NETです。これは特定のデータベースに依存しない共通のデータベース・アクセス・インターフェイスを提供するデータ・アクセス・コンポーネントです。.NETアプリケーションから、プログラムを変更することなくMicrosoft SQL ServerやOracle、IBM DB2、Borland InterBaseなどの主要なデータベースにアクセスできます。.NETアプリケーションに対して、自由なデータベースの選択肢を与えることになります。 |
―― ボーランド独自のIDEという意味では、JBuilderも共通していると思うのですが、JBuilderを利用しているJava開発者がC# Builderを利用するとC#での開発が容易になるということはないのですか。
藤井:IDEの操作性という意味ではよく似いています。しかしJavaと.NETでは文化的に大きく異なる部分があると感じています。これは個人的な意見ですが、Javaはメインフレームやオフコン的な流れを汲んでおり、背後に流れる思想が.NETとは異なっていると思います。これが正しいとすれば、Java流の考え方を無理やり.NETに当てはめることには無理があります。こうした違いを開発環境が吸収するというのは理想ではありますが、開発手順や考え方を隠蔽してしまい、思想の異なるもの同士を統合しようとすると、かえって混乱を招くのではないかと思います。 |
―― C++開発環境であるC++ Builderの.NET対応版は提供しないのですか。
藤井:現在、C++ Builderでは、組み込み分野に大きくフォーカスしています。.NET対応は検討課題ではありますが、C++ Builderについては、当面は各ハードウェアの性能を最大限に引き出すネイティブ・コード開発の生産性をいかに向上させるかという点に集中していきます。 |
企業におけるDelphi活用の実際
―― 企業向けソフトウェア開発の分野において、Delphiはどのように使われているのですか。
藤井:これは大きく2つに分かれます。1つは、バックエンドのデータベースにアクセスするフロントエンド・アプリケーション開発用のRADツールとして使われるケースです。データベースにアクセスするためのちょっとしたユーザー・インターフェイスを設計するといった場合で、専門の開発者だけでなく、エンド・ユーザーが簡便な開発ツールとしてDelphiを利用しているケースが少なくありません。 もう1つは、パッケージ・アプリケーション開発分野です。これには実際にパッケージとして販売されるソフトウェアだけでなく、受託開発会社が、自社のソリューションをある程度パッケージ化して展開するというケースにDelphiが使われています。さまざまな機能をDelphiのコンポーネントとして開発しておき、それらを組み合わせてカスタマイズしたRADツールとして活用するというものです。RADツールとしてはVisual Basicも利用可能ですが、VBと比較するとDelphiではネイティブな処理が容易です。またVBとは異なり、Delphiで開発したアプリケーションは、ランタイムなしでも実行が可能という特徴があります。企業ユーザーの中には、「Delphiはランタイムが不要なのでクライアント・ソフトのメンテナンスが容易だ」という理由からDelphiを採用しているケースもあります。 |
―― そうしたDelphiの既存のソフトウェア資産や開発者を.NETに導くのがDelphi 8になるわけですね。
藤井:そうです。 |
VS.NETにUMLベースのモデル開発支援機能を提供するTogether Edition for VS.NET
―― 次に、11月に発表されたTogether for VS.NETについて詳しく教えてください。
藤井:マイクロソフトの開発環境であるVS.NET 2003に追加インストールすることでUMLベースのモデリング機能を提供するツールです。 |
Together Edition for Microsoft Visual Studio .NET |
Visual Studio .NET 2003に追加インストールすることでUMLベースのモデリングが可能になる。ボーランド独自のLiveSourceと呼ばれる技術により、モデル図とコードは常に同期する。 |
―― ソフトウェアのコンポーネント化を進め、再利用を容易にしてソフトウェア開発の生産性を向上させるツールということですね。
藤井:はい。設計フェーズと開発フェーズの双方を支援するツールになっています。多くの場合、ソフトウェアの設計フェーズでは、ホワイト・ボードや付箋、WordやPowerPointなどといったツールを思い思いに使って仕様を検討します。UMLツールを利用して開発を進めるなどはまだ一握りでしょう。設計フェーズだけを考えれば、ホワイト・ボードや付箋でも問題はないかもしれません。しかし開発が一通り進んで、一度見直すフェーズに入ると、設計フェーズの決定が本当に正しかったかどうかを振り返る必要が生じるものです。また、当初は予定していなかった機能追加なども発生してきます。この場合に、もう一度過去のホワイト・ボードでの議論や付箋作業に戻って再検討するというのは現実的ではありません。Together for VS.NETは、こうした設計フェーズと開発フェーズの行き来を容易にするツールです。具体的には、UMLベースのクラス図と、コードの間を自由に行き来できるようになります。 |
―― UMLのクラス図を描けば、そこからソースコードが生成されるということですね。その後ソースコードを修正した場合、その結果はクラス図に反映されるのですか。
奥村:Together for VS.NETは、ソースコードをよりどころとしてクラス図を表示します。図の配置や色情報などといった図のレイアウトに関する情報は別にあるのですが、クラス図にどういう項目があり、それがどういう値を持っているかという構成要素はすべてソースコードとして保存され、クラス図はこのソースコードから生成されます。中間的な情報ファイルなどは一切ありません。これがモデル図とコードの同期を保証するボーランド独自のLiveSourceと呼ばれる技術です。 |
―― ということは、Together for VS.NETを利用すれば、既存の任意のソースコードから、クラス図を生成できるということですか。
奥村:そうです。LiveSourceで重要なのは、ソースコードさえあればよいということです。Together for VS.NETを購入してからモデル設計を開始するという必要はありません。ソースコードさえあれば、Together for VS.NETによって即モデル指向の開発が可能になる。最初から作り直す必要はありません。またモデル指向開発に移行した後でも、クラス図を手直しするよりソースコードを直すほうが簡単ならば、ソースコードを修正すればよいのです。もちろん、クラスの構成を変更したり、デザイン・パターンを適用したりする場合はクラス図で作業します。この場合でもすべての修正はソースコードに同期されます。 |
INDEX | ||
[Trend Interview] ボーランドの.NET戦略 | ||
1.ソフトウェア開発の現状とボーランドの.NET戦略 | ||
2.C# Builder、Delphi、Together Edition for VS.NET | ||
3.Borland ECO(Enterprise Core Objects) for .NET、Janeva | ||
「Trend Interview」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|