Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

次期C++Builderはアーキテクチャを刷新
~「エンバカデロ・デベロッパーキャンプ東京」レポート

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2012/06/15 14:00

 エンバカデロ・テクノロジーズ(以下、エンバカデロ)は5月31日、「第22回エンバカデロ・デベロッパーキャンプ東京」を開催した。エンバカデロ・デベロッパーキャンプは、RAD StudioやDelphi、C++Builder、ER/Studioといったエンバカデロの開発ツールを利用するユーザ向けに、最新の技術情報を紹介する開発者向けセミナーである。本稿では、同イベントで発表された同社のRAD製品、特にC++Builderの最新動向についてレポートする。

目次

1. 次期Delphi/C++Builderでは新しいコンパイラ・アーキテクチャを採用

図1.1 エンバカデロ・テクノロジーズ
海外担当副社長兼ジェネラルマネージャ
Nigel Brown氏
図1.1 エンバカデロ・テクノロジーズ 海外担当副社長兼ジェネラルマネージャ Nigel Brown氏

 今回のデベロッパーキャンプには、エンバカデロの海外担当副社長兼ジェネラルマネージャであるNigel Brown氏が来日してキーノートセッションを担当した。同氏からはエンバカデロの2011年度の実績および2012年度の取り組みや、次期バージョンのRADツールに搭載予定の新機能の紹介、2011年にリリースされたアプリ配布基盤「AppWave」の最新動向の紹介などが行われた。ここでは、その中から次期Delphi/C++Builderに関する情報をお伝えする。

 次期バージョンのDelphiとC++Builderでは、コンパイラ・アーキテクチャの大幅な変更に着手しているという。Delphiの場合、現行バージョンではDelphi(Pascal)コードをいったんDelphi中間表現に直し、それをIntelプロセッサ用のコードジェネレータで実行コードに生成するというプロセスになっている(図1.2)。C++builderの場合も同様で、C++コードを中間表現に直して、そこからIntelプロセッサ用の実行コードを生成する。

 最初にDelphiがリリースされたときからこの仕組みを採用し続けてきたとのことだが、ここ数年で状況が大きく変わったとBrown氏は言う。MicrosoftとIntelによる支配的な構造が崩れ、Mac OSやiOS、Androidなどが台頭し始めからだ。これによってユーザの選択肢は大きく広がった。開発ツール側では、広がった選択肢に対応していかなければならない。そのためにDelphiおよびC++BuilderではMicrosoft+Intelという前提のもとで構成されていた従来のアーキテクチャを捨て、LLVM(Low Level Virtual Machine)を活用した新しいアーキテクチャの採用に踏み切ったというわけだ。

 具体的には、DelphiおよびC++Builderはコンパイル時に共通の中間表現を構築し、そこからターゲットとなるプラットフォームごとに最適化された実行コードを生成する(図1.3)。ポイントは、開発者が作成すべきコードは従来とまったく変わらず、違いはすべてコンパイラで吸収するという点である。つまり、開発者自身はアーキテクチャの違いを意識する必要はない。

 もう一つのポイントは、フロントエンドのツール(言語)の違いと、ターゲットとなるプラットフォームの違いも、すべて中間表現によって吸収されるということだ。これまでとは違い、DelphiとC++Builderは同じ中間表現を構築する。そして中間表現から実行コードへの変換には、Intel以外のプロセッサ向けのコンパイラも提供されるようになるとのこと。具体的にはx64およびARMプロセッサ向けのコンパイラが挙げられているが、構造的には将来的に登場する新しいチップセットにも対応できる柔軟性を備えることになる。

 「このようなアーキテクチャの根本的な改革はこれまでとは違うまったく新しい製品を作り出すようなものであり、極めて大きなチャレンジでした。自社の技術にロックインさせて囲い込みを狙いたい競合他社にはできない選択であり、エンバカデロならではの強みになるはずです」(Brown氏)


図1.2 従来のコンパイラ・アーキテクチャ
図1.2 従来のコンパイラ・アーキテクチャ

図1.3 LLVMベースの新しいコンパイラ・アーキテクチャ
図1.3 LLVMベースの新しいコンパイラ・アーキテクチャ

 コンパイラ・アーキテクチャ以外の拡張としては次のような機能が挙げられた。

  • iOS向けネイティブアプリの開発をサポート
  • C++Builderにおいて64bit版Windows(Win64)向けのアプリケーション開発をサポート(DelphiはXE2で対応済み)
  • FireMonkeyによるUI開発のさらなる拡張

 また、上記以外の重要なフォーカス領域としてBrown氏はHTML5への対応を挙げている。具体的には、PC/モバイル端末も含めたHTML5/CSS3クライアントのビジュアル開発のサポート、PHPバックエンドと連携する動的なHTML5/CSS3アプリケーション開発のサポート、RadPHPの拡張などが予定されているという。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 杉山 貴章(スギヤマ タカアキ)

    有限会社オングスにて、Javaを中心としたソフトウェア開発や、プログラミング関連書籍の執筆、IT系の解説記事やニュース記事の執筆などを手がけている。そのかたわら、専門学校の非常勤講師としてプログラミングやソフトウェア開発の基礎などを教えている。著書に『Javaアルゴリズム+データ構造完全制覇』『Ja...

バックナンバー

連載:イベントレポート

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5