先日、C++自分史を書いてみたところ、実際当時作成していたクラスライブラリの件を思い出した。これは、C++ではなく、Cで記述していたものなのだけれど、元々はFortranのライブラリ。
具体的には、測量計算に使うもので、平面座標と緯度経度の換算を行ったり、各種座標補正清算を行ったりするライブラリだ。指令は、単純にメインフレームで動いていたものを、PCやUNIXで利用できるように移植せよ、というものだったのだけれど、メインフレームとPC、UNIXでは、プログラムの実行形態が異なる。
メインフレームの場合、JCLを使って、いわゆるバッチ処理を行うのだけれど、PCの場合、インタラクティブな処理もある。当時すでに稼働していたMULTI 16のディジタイザーシステムでは、完全にインタラクティブなスタイルになっていた。
ところが、である。緯度経度がらみの計算は、結構パラメータが多い。例えば、ユニバーサル横メルカトール図法だと、地球の長半径、短半径、原点の緯度経度のほかに、東方偏差などを入れなくてはならない。あと、縮尺係数は、0.9996だっけ。
メインフレームの場合、これらは、ファイルに記述してジョブを流すだけだ。使いまわしもできるので、パラメータの入力ミスも少ない。PCで、メニューに従って作業する場合でも、こんなものを毎回入力したくないと思うのが人情というものだ。
そこで、要求とは別に、PC、UNIXで使えるパラメータ管理のしくみをしのばせておいた。実は、これを使って、メインフレームで行っていた他のプログラム処理も同じようにできるようにして、なおかつ、インタラクティブな処理で入力した場合には、ちゃんと上書きされるように、インターフェイスをつくっておいた。この仕組みは、その後数年間の開発で重宝することになった。
所属していたのがエンドユーザー企業ということで、要求に非常に近い場にいたというのが幸いしていたと思う。しかし、ソフトウェア開発では、過去からの継続を理解して、未来を見据える目が求められるのは事実だ。
結果がすぐに出るということでは、C++BuilderのようなRADツールは、「今」に対応するのに優れている。しかし、多くのケースで、ユーザーは、過去からの継続で「今」を求めていることが多く、それを理解した上での未来ではない。過去からの継続だけを実装することで、「今」はいいのかもしれないけれど、その先を考えて少し寄り道をしないと、せっかく便利なツールが足かせになってしまうこともある。
結果がすぐに出るツールというのは、あまり考えなくてもできてしまうという側面があるから、そこは注意したいところだといつも思っている。
なんてことを、日ごろから感じているので、今回、それと関連したテーマでパネルディスカッションをやってみることにした。いつものデベロッパーキャンプで、久々のパネルである。日ごろ、RADツールをうまくつきあっている開発者の人々が、どのような意識で、これらの問題があたっているのか、楽しみである。5月31日、NSスカイカンファレンスにて。
ひとつのツールを10年以上継続的にリリースするというのは、本当に難しい。IT業界で10年以上継続的にビジネスを展開している企業というのはほんのわずかであるし、何より、テクノロジーの変遷に対して、ひとつのツールが持続的に自分らしさを発揮するというは、もっと難しいと思う。実際、DNAだけ残ってます、とか、逆に、名前だけ維持しています、というものも多く見かける。
そんな中、C++Builderは15周年だそうだ。Delphiの弟分として、1997年にリリースされ、C++でありながら、Visual BasicやDelphiのようにコンポーネントを用いたビジュアル開発ができるというユニークなポジションを守り続けているのだ。
もっとも、C++Builderも、決して紆余曲折がなかったわけではなく、従来のビジュアル開発のメリットを捨ててでもクロス開発にフォーカスしようとした時期もあった。いわば、名前だけ残して、というやつだ。だが、従来のC++でビジュアル開発を支持する熱いユーザーの要望によって、復活を果たし、現在に至っている。
個人的には、プログラマ現役時代、こんなツールがあったら便利だったのに、と思いながら、これらの製品をベンダー側で担当していた記憶がある。C言語との出会いは学生時代で、そのときは、せいぜい入門書レベルのコードしか書いていなかった。その後、社会人になってから、メインフレームで動いていたFortranのライブラリをUNIXに移植するという作業を通じて、初めてC言語でまともなプログラムを作成した。
当時のウィンドウライブラリは、まだオブジェクト指向していなかったので、C言語でポインタ使って、オブジェクト指向っぽいコードを書いていた。その後、Windowsが普及してきて、C++で結構な行数を書いてGUIを作成していた記憶がある。もっとも、それ以前にCUIベースのウィンドウライブラリTurbo Visionを使っていたので、Windowsライブラリ(OWLだっけ)への移行は、それほど大変ではなかった。
RADとの出会いはDelphiが最初。実際ボーランドに入社してから「あなたはDelphi担当」といわれてあわてて勉強した。翌年、C++Builderが発売されると聞いて、なれないDelphiの構文よりも、自由にコードが書けると思ったものだ(上の画像は、当時のサポートプログラム「Borland Connections」で配布していたTechnical ReportのC++Builder版創刊予告号の表紙。よくこんなもの取ってあったなぁ)。
当時は、サポートからマーケティングに異動する前後のときで、自分自身は、次のJBuilder担当になったわけだけれども、その合間を利用して、自分でも最初となる書籍を執筆した(「Borland C++Builder入門」 - アスキー出版局)。
C/C++の人口はまだまだ多いとのこと。実際、春先ともなると、エンバカデロのサイトで配布しているフリーのC++コンパイラの需要が伸びる。アンケートを見ると、学習目的以外では、製造業や組み込み向けでC/C++を使用している人が多い。
C++Builderは、現在のバージョンで、WindowsとMac OS Xとのクロス開発をサポートした。CPU/GPUネイティブのグラフィック機能を、コンポーネントベースでサポートしたのも大きい。今後は、やはりモバイル向けの拡張が期待されるであろう。
そんな中でも、C++Builderたる所以であるDNAを維持しながら、新しい分野にも広がっていってもらいたいと思う。
先週末の3月9日、10日、船橋にて、合宿形式のデベロッパーキャンプを実施しました。通算21回目となるこのイベント、「キャンプ」と銘打っていても、本当にキャンプしたのは初めてです。
今回このような形態にした理由はいくつかあって、ひとつには、FireMonkeyという新しいフレームワークが登場して、DelphiやC++Builderのエキスパートでも、じっくりと新しい技術を学ぶ時間が必要だったから。そして、そういう機会は、このようなイベントでもない限り、なかなか日々の業務に流されて持つことができないということもよく聞いていました。
もうひとつ大きかったのは、ちょうど1年前の震災直後、多くのイベントが中止に追い込まれる中、「とにかくできる形態でやろう」と実施したデベロッパーキャンプの存在です。あのとき、交通の不安がありながらも、決して少なくない開発者が会場に集い、懇親会にまで参加していただきました。そして、そこでいただいたのは感謝の言葉でした。
このような開発者向けイベントには、開発者を元気にするという使命もあるんだ、と実感した瞬間でした。
ということで、徹底的にキャンプして、コードを書いて(ビジュアルツールなのでタイプ量は少なくて済みますが)、一緒に飲んで、ソフトウェア開発について語り合う機会を作りました。
今回も、コミュニティの皆さんに講師を担当していただきました。
そして、夜には、そのFireMonkeyの演習です。
その後懇親会場へ移り、翌朝のDelphiクイズの解答者を決める悪魔のじゃんけん大会が行われました。宿泊施設に戻ってひと汗流したあとも、深夜まで語り合うという盛りあがりでした。
ちなみに、今回のキャンプの模様は、Webセミナー形式でも配信され、2日間で延べ200人近くの方に聴講いただきました。また、会場のビデオ映像はUstreamで配信しており、こちらについても、1000人を超えるユニーク視聴者数を記録しています。
ところで、今回利用した会場は、社員研修などで利用される宿泊施設付きセミナー会場です。これまで盲点だったのですが、宿泊込みだとかなり安い値段で借りることができるので、宿泊費を実費負担していただくぐらいで、十分従来同等のイベントを合宿形式で開催できます。
施設の方に伺ったところ、社員研修をメインでやっているので、口コミとかが中心で、あまり宣伝していないんですよ、ということ。でも、高速ネットワークをはじめ、すべての必要な設備があって、実際、満点の評価でした。1Fには、200名近く入る講堂もあるし、ここなら、通常のデベロッパーキャンプ+合宿研修っていうのもありかも、と考えています。
Developers Summit、略してデブサミは、今年で10周年だそうだ。デブサミには、ボーランド時代からお世話になっていて、毎年というわけではないけれど、たびたび出展してきた。毎年秋ぐらいに参加計画を検討するのだけれど、今回は、ちょうどRAD Studio XE2がリリースされた頃で、Delphiの64-bitサポート、Delphi/C++BuilderのMac OS Xサポートに続いて、モバイルにフォーカスするのによい時期ではないかということになった。
Delphiといえば、これまでずっとWindows向けのビジュアル開発環境として機能強化をしてきたわけだけれども、ここへきて、一気にマルチプラットフォームへと舵を切り、iOSのネイティブサポートまで果たした。そして、もうひとつのユニークなビジュアル開発ツールRadPHPでも、モバイル開発に対応している。
ということで今回の講演テーマ - 「3分ではじめるスマホアプリのビジュアル開発」

講師はエヴァンジェリストの高橋君。デブサミで初のモバイル系セッションということで、ちょっと気合が入りすぎていないか?かつて、鮮血のセッションもあったので少し心配に…
今回は、Delphiを使った例として、FireMonkeyによるネイティブiOSアプリの開発。ビジュアル的にもきれいなものが、短時間でドラッグ&ドロップで作成できる。そして、モバイルクライアントは、従来のJavaやObjective-C、C#などでいいのだけれど、それらからアクセスするサーバーアプリと、そのアダプタ機能(これは各言語、プラットフォーム用に自動生成される)。
もうひとつ、RadPHPを使った例として、各モバイルデバイスに最適化されたWebアプリの開発と、PhoneGapを使ったスタンドアロン化。AJAXも含めてカプセル化されているのはうれしい。複雑な通信のためのコードを書かなくて済む。「ロジックの記述に集中できる」わけだ。
観客として見ていて気が付いたことは、実は「ビジュアルで簡単にできる」というのは、確かに魅力かもしれないけど、結局何を作るかなのだということ。もちろん、DelphiやRadPHPを使うと、いろいろなものが簡単に作れるのだけれど、そこにフォーカスしなかったのは残念だったかな。
ツールベンダーは、画期的なツールの機能が登場してくると、どうしてもそこにフォーカスしたがる。だけれども、それによって作られたものが魅力的で、そんな魅力的なものがこんなに簡単に作れるから、そこに興味を持つという順番であることはいつも同じ。
エンバカデロのモバイルデビューも、もう少しその辺を押さえた見せ方を研究したほうがいいかな、と感じだ。モノはいいのだからもったいない。
スマートフォン向けアプリ開発に関しては、今後どんどんホットになってくると思われるので、自社サイトにポータルページを開設したのとともに、Facebookにもページを用意した。
http://www.facebook.com/delsma
次のモバイル系のイベントは、自社主催のデベロッパーキャンプかな。
長くなったついでにオマケをひとつ。今回の会場、目黒雅叙園は、目黒駅から行人坂を下って、目黒川に突き当たる前にある。その先の太鼓橋は広重の版画でおなじみの場所。
そこからさらにまっすぐ進むと山手通り方面に出るのだが、途中の交差点に歴史的な看板をいっぱい付けた建物を見つけた。行人坂の表示もある。ずいぶん前からあったような気もするが、記憶は定かではない。

そして山手通りでは、山手トンネルの延長工事が盛んだ。ついにここまで到達してきたか。
前回のエントリーのとおり、先週はハードスケジュールをこなし、今週はじめは、かなりヘロヘロになっていた。後追いで、手が筋肉痛だったり、そういや指が腫れていたなとか認識するようにもなり、時差ボケとかそういうことではなく、純粋に疲労がたまっている感じだ。
それはさておき、そんなハードスケジュールでこなしてきたキックオフはどうだったかというと。

豪華なシャンデリアの内装のホールで開催されたオープニング。昨年は、やはりRAD Studio XE2の躍進が光る。エンバカデロ(会社自身は非上場なので、全体の売上等は公表していないけれど)全体としても、連続して成長を記録した。
2011年は、日本の震災、ヨーロッパの金融危機、そこから飛び火する世界経済の不安という非常に厳しい環境であったにもかかわらず、特に、その日本、ヨーロッパでよい成績を残せたことが継続的な成長につながったわけだ。
特に、Delphiについて、コアの技術をしっかり磨き、市場をリードする革新的な製品を出していけば、確実に結果を残すことができるという、ソフトウェア企業の原点回帰のような成果を出せたことが大きい。
なにかと小手先のテクニックやラインナップを揃えるためだけの買収によって、結果的に成果を出せない企業を多く見てきただけに、このことは、個人的にもうれしいし、CodeGear以来、我々が目指して、努力してきた方向が間違っていなかったことの証明にもなったことだろう。
以下、宣伝になってしまうけれど、今回のキックオフの詳細については、今日(1月18日)の17時より実施する「デベロッパーTV」というWebブロードキャストでレポートする予定。各国のスタッフからの日本の皆さんへのメッセージや本社訪問などのビデオも用意している。
参加はこちらから。
新年明けましておめでとうございます。
今年は、休み明けに一日出社して、即海外出張と忙しいスケジュール。おまけに、出張から帰った翌日が演奏会ということになっている。
例年、キックオフは1月と決まっており、演奏会も同じく1月なので、公私がおもいっきりぶつかることもあり、昨年は演奏会出演を断念した。今年はなんとかやりくりして、両立ということなのだが、ハードスケジュールであることには変わりがない。
キックオフは、本社近くのホテルで、というのが定番だが、数年前の空港そばのホテルというのが、よっぽど評判が悪かったらしく、市内のそれなりの場所のホテルを選択するようになってきた。今年はこれ。
かなり古いホテルのようだけれど、造りもしっかりしていて、豪華だ。坂の多いサンフランシスコの中でも、ほぼ四方が坂という移動しにくい場所にある。写真だと、急斜面の急さが分かりにくい。
今日はこのあと本社へ。
ところで、演奏会直前ということもあって、いちおう楽器を持ってきたのだけれど、手荷物検査で面白いやりとりがあった。機内持ち込みにはサイズ制限があって、普通の四角いヴァイオリンケースはNGなのだけれど、機内可のケースというのもある。自分が持っているのは、弓が別のケースのやつなので、このケースについて、検査官が訊いてきた。
「それは何ですか?」
「あ、弓です」
「え!(マジ顔)それはダメですよ。持ち込めません」
すぐに合点がいった。彼は武器だと思ったらしい。
「いや、ヴァイオリンの弓です。矢は射れません。」
でも、念のため、と、しばらく待たされることになった。入国時にも、なんでコンピューターソフトウェアのカンファレンスにヴァイオリンが要るんだ、とか、演奏歴何年だとか、いろいろ質問された。その昔、バズーカに間違えられたファゴット奏者もいるし、楽器を持ってのフライトは、いつも受難である。
2011年もあとわずか。震災直後、毎日の変化が大きすぎて、1週間がとても長い時間の経過に感じたけれど、いつしか日常が速い回転で戻ってきていた。その2011年も、もう終わりである。
1月の演奏会に向け現在練習しているドヴォルザークの交響曲第7番、通称「ドボシチ」は、ドヴォルザークの中でも暗い影を落としたツウ好みの作品。前プロのオネゲル3番(これに「オネサン」という呼称があるのかどうかは知らないし、聞いたことがない)も先の大戦へのレクイエムであり、前回取り上げたマーラーの3番(これは「マラサン」で間違いない)も、死からの復活がテーマでありと、このところ、鎮魂ということを感じながら演奏会に臨むことが多い。
ドヴォルザーク 7番は、緩徐楽章の安らぎも、どことなく抗しがたい力に翻弄されているようだ。そんな中から、美しい個所をピックアップし、恒例の留守電BGMとした。反復する付点の音型に、突如伴奏の景色が変わり、チェロのピッチカートが切なさを演出する。
このBGMを入れた留守電メッセージは、エンバカデロで、明日12月29日から1月5日まで使用予定。
2012年、皆さんもよいお年を。
ちょっと前に「Delphi XE2の入門書を作っていますのでよろしく」という連絡があったと思ったら、先日、「年内にはできると思います」と。そして早くも見本誌が送られてきた。
Delphi系の書籍では、Marco Cantu氏の「Delphi 2009 Handbook」(自分が翻訳して高橋君らがリレーレビューして、速攻で出したやつだけど)に続く久しぶりのものだ。今回、FireMonkeyという新しいフレームワークがあること、Windowsでは64-bit、さらにはMac OS X、iOSもサポートするようになったということもあり、期待も大きい。その大きさが書籍企画の後押しをしてくれたということか。
実際、XE2は、ここ最近のバージョンでは、かなり好調な売れ行きだし、ベテランのユーザーも新しい機能が多くて学ぶことが多い。書籍に対する期待は大きかった。
書籍の内容だが、基本的な開発手順、言語構文などを、サンプルアプリケーションを作って確認しながら学習できる入門書の定番パターン。FireMonkeyを使ったグラフィック処理などについても解説されている。
今回は、入門編だけれども、応用編の企画も進んでいるらしい。こちらは来年か。楽しみである。
年末残りわずかとなりあわただしい。エンバカデロでも、Delphi 1の人から(Windows 95の頃ですよね)でも購入できる最新バージョンのキャンペーンをやっていたり、最終営業日に向かってどんどん忙しくなっていく感じだ。
ところで、こうしたキャンペーンを盛り上げる活動として、ビデオやオンラインセミナーがいくつも企画されているのだが、なぜかこれらがいずれも体力勝負な雰囲気なのだ。いずれも米国発の企画だけれど、例えば...
31 Days of RAD Studio XE2
12月31日まで、毎日Delphi / C++Builder / RadPHP / RAD Studio XE2のデモビデオを掲載するマッチョな企画。お祭り好きで家族思いのアメリカ人が本当にクリスマスもビデオを公開し続けるのか不明。最終回は、時差の関係で、ぼくらはもうおせち食ってんですけどね。
24 Hours of Delphi
24時間、Delphiネタをしゃべり続けるオンラインイベント。世界中のスタッフやデベロッパーコミュニティの人が参加するらしいけど、還暦を迎えたDavid Iは、プレゼンターとして全部出るらしい。チャリティではない。
日本でも、このマッチョ企画に参加しないわけにはいかないと、連日ビデオを投入し、4 Hoursにも参戦することにした。こちらは、今日公開したビデオ。
さて、こうした体育会系企画がどうしていくつも出ひてくるのかというと、まず、年末はだれでもカウントダウンが好きだということだ。カレンダーを塗りつぶし、鐘を突き、1月1日午前0時に向かって「3、2、1」とやりたいのが人というものだ。
そして、そういうことをやれば話題になる。内容が難しくても、なんか楽しそうではないか。そして楽しそうということは、お祭りである。実は、お祭りには、もうひとつしかけがあって、準備する側、やる側にとっても「お祭り気分」になることは重要なのだ。つまり、多少の無理は承知でも、「お祭りだから」の一言でゴリ押ししてしまうのだ。
かくして、準備期間が必要とか、予定がどうしたといった雑音をかき消して、強引に成果物が出てくる。「やればできるじゃないか」と舌をペロリである。
最終的に、いろいろあったけどよかったね、と素敵な成果を残して新年を迎えられる。来年につながるよい仕事をした。ハッピーニューイヤーである。
ちなみに、David Iは、この時期、このほかにも、サンタクロースをやるという大事な仕事があるのだ。
以前このブログでも紹介したDelphi/C+Builderの新しいコンポーネントフレームワーク「FireMonkey」によるクロスプラットフォーム開発について解説したDavid Iのプレゼンテーションのビデオシリーズの最終回が先ほど公開されました。
これは、先のデベロッパーキャンプで行われた1時間のセッションを編集したもので、日本語字幕つきで全編をご覧いただけます(こちらはPart 5まであるシリーズのPart 1)。
全部並べると長くなりますので、Part 2以降は、リンクだけ - Part 2 | Part 3 | Part 4 | Part 5。
今回、このビデオシリーズは、YouTubeに掲載されていますが、低解像度で見た場合、字幕が小さすぎると読みにくいし、画面の背景によっては、白抜きがよかったり色がついてたほうがよかったりと、結構読みやすさに気を使います。というのも、いちおう通訳さんの語りを意識して、ゆっくりめにしゃべっているDavidも、調子に乗ってくると早口になったり、カタカナ表記だとやたら長くなる専門用語を連発したりと、字幕を読んで理解するペースを考えると、そのままというわけにはいかないのです。
字幕化にあたっては、ベースの翻訳をざっとテクニカルチェックして、次にそれを実際の画面に置いてみます。その状態で流しながら、ばっさり表現を割愛したり、同じことを短い文字数で言い換えたりして、読みながら理解できるペースを作ります。文字が固まったら、画面の背景の色などに合わせて、文字の色を変えたり、背景にぼかしを入れたりといった加工をします。
以上の工程を経て字幕版は出来上がるのですが、音声収録が必要な吹き替え版とどちらが製作コストがかかるかというと微妙なところです。ただ、字幕版の場合、英語の方を聞きたい英語圏のユーザーの方には好評のようで、日本発のビデオを楽しみにしている海外の開発者もいるとのことです。
とはいえ、英語のビデオを翻訳する手間は、実際のところ日本語で新規に作っちゃうよりも面倒なのは事実です。例えば、先週実施した「RadPHPでiOSやAndroidアプリを作っちゃおう」的なWebセミナーのビデオですが、こちらも準備が進んでいて、多分先のDavidのセッションの、何百分の一の手間で出来上がってしまいます。
そうなんです。今やデモビデオを作るのはとても簡単なので、米国本社でも技術文書よりまずビデオ、という傾向が強くなっています。そうすると、それを翻訳する手間はドキュメント翻訳の比ではないわけで。
ところで、Davidのビデオでは、3Dモデリングツールのデータを、FireMonkeyでDelphiアプリに取り込むというデモを見せています。3Dモデリングツールの名前やファイル形式を連呼しているわけですが、そのスペル確認などで、サイトをチェックすると、米国が掲載しているRAD Studio XE2の広告を発見しました。3Dモデリングの分野にもツールの応用範囲が広がっているのだなと感じた瞬間でした。

藤井 等
ボーランドの開発ツール事業分離発表を受け、数年ぶりにマーケティングに復帰し、2009年からは日本法人代表へ。
仕事に関連したソフトウェア開発やマーケティング、ビジネスに関する話題、週末には音楽の話題を。
オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。

テレワークが労働者のマインドを変える
富士通社長が語るICTベンダーとしての心得
求む、クックパッド男子
37歳の常識――我々は一生学び続ける
“コステロ”じゃないよ“コストロ”だよ