俺#

新潟市でIT業を営むおっさんのブログ。

エンバカデロデベロッパーキャンプ@東京

http://dn.codegear.com/jp/article/38348/

行ってきました。エンバカデロの開発環境との付き合いはPC-9801用のTURBO C++1.01からなので相当長いんだけど、初めてのデブキャンプであります。「さらに長い付き合いである!」という方ともちょろちょろっと話ができて面白かったです。Borlandになる前、なんて時代があったとは!(w

で、個人的に注目のポイントを書き上げておくと、、

1)Delphi/C++Builder2009において、2006以降無くなっていたIDE統合の文字列リソース多言語化ツール(ITE、ETM)が復活。というか、無くなってたのかよ!(笑)

2)C++Builder2009のUnicodeへの対応状況は、解説を聞く限り好印象。VCLに追加変更される文字列クラスは使い勝手が良さそうだ。UnicodeStringなるクラスが追加され、AnsiStringもコードページを保持するようになる。WideStringも継続的に提供される。いずれも相互に代入するだけで変換可能だそうだ。

AnsiStringインターフェイスは保持され、基本的に過去のコードも引き継げるように拡張されている模様。ただ、旧バージョン用のコードをインポートした場合、イベントハンドラの引数として中身がUnicodeUTF-16?)なAnsiStringが渡される場合があるようだ。つまり、AnsiString.c_str()がSJISのバイト配列を返してくるという前提で書かれたコード(俺の書いてるコードの事ですハイ)はそのまま動かない可能性があると思った。

どういう事かというと、VCLは全てUnicodeで動くようになるので、文字列を渡してくるイベントハンドラ引数の型はAnsiStringからUnicodeString形に変更される。その文字列をAnsiStringで受け取ろうとする古いコードがインポートされてくることになるのだが、コンパイルエラーにはならずそのまま動くんだそうだ。いい具合に変換してくれる仕組みがあるのか?

だた、そのAnsiStringの中身は、従来と違ってSJISとは限らないわけですな。UnicodeStringの中身を余すことなく受け取るため、AnsiStringUnicodeなコードページになるのは有り得る話、というかその方が自然なんだけどね。もちろん、一旦SJISAnsiStringに代入してあげればSJISに変換されるので、従来通り日本語だけ使えればOKというなら対応は難しくない。

3)Delphi for PHPは、日本でも評価が高く「売れている」とのこと!全然売れてないと思ってました。どうもスミマセン(^^;。実際に使っていると、標準で用意されたコンポーネントローカライズや柔軟性が不十分なのに悩まされる場面もあるが、コンポーネントはいとも簡単に実装できるので、使い易い自作コンポーネントをじゃんじゃん作るのが良い使い方かも。ユーザーが作成したコンポーネントの検索、評価、バグトラック等が行えるような公式のリポジトリシステムが欲しいかもしれん。

4)Delphi/C++Builderの2009の「次」は、来年後半にずれ込む。目玉は64bit対応と並列化サポートで、後者のほうがプライオリティが高い状況だが両方頑張りたい、とのこと。個人的にはライブラリやコンパイラのレイヤで頑張っても並列化には限界があると思うんだよね。需要が急拡大する(64bitのパフォーマンスが必要になる、というより64bit版があります、と言いたくなる場面が増えると思う)かもしれない64bit対応のほうを確実に進めてもらいたいなぁ。

5).NETへの対応は、Delphi.NETと、VisualStudioに対応するDelphi言語プラグインの2系統に分離するとのこと。ハッキリとアナウンスされた訳ではないが、恐らく後者にフォーカスが移るのではないかという印象だった。面白いところでは、Monoへの対応や、XNADelphi言語が使えるようになるかも、という話があった。

それにしても、Delphi言語信者かつネイティブ信者の方々が熱くて面白かった。やっぱり「Delphiでないとヤダー」って人が沢山いるというのは良く判りました。俺にとっては「C++かつネイティブなのに何故かRAD」とか「ピュアPHPなのに何故かRAD」という点が重要なので、言語的には最早JavaでもC#でもOKと思っちゃったりする。なので、あのDelphi言語に対する熱さはちょっと羨ましい気もするし、それに応え続けるエンバカデロも素晴らしい。

とはいえ、相も変わらずDelphiでネイティブでDirectXが云々とか言ってたらジリ貧だとも思った。対Visual Studio戦略としてDirectXが使えるに越したことはないけど、Win32の世界にとどまる事はDelphi言語の終焉とイコールだよね。どの様な形であれ.NET対応を継続するのは言語としてのDelphiには必要だし、より発展してLightweight LanguageDelphi風言語が出てきたら尚良いと思う。どの分野でも事実上主流となった「C++風の勢力」に対する「Delphi風の勢力」が形成されるとしたら「begin end」と「{}」の戦いが更に面白くなるって事ですな。

例えば、begin endが好きな人が集まって、Apache用にmod_delphiとか作ればいいんじゃないかなぁ。エンバカデロ主導で進むとしたらなお素晴らしい。PHPとかRubyの感覚で使えるDelphi言語があったら、確実にDelphi風のユーザー層は広がるハズでしょ。さらにmod_delphiのためのDelphi for PHPのようなRAD製品が出てくるとか、その先の展望も見えてきそうだよね。え?mod_delphiを作る時にC++を使わないといけないのがネックですか?ええー!

あ!Kylixの時のLinuxで動くコンパイラ、まだ使えるんでない??

(冗談でなく真面目に言ってます(^^;)

[追記]

http://www.freepascal.org/

イイモノありました。欲しいと思うものは大抵あるのね(^^;;