今だとネットワークセキュリティの関係でまず無理ではないか?という話。

まだダイエーが今のダヴィンチ芝パークビル(軍艦ビル、とも呼ばれているそうだ)1Fにあったころだ。(客先もそのあたり、だったということだが・・)

サーバーにはデータベースのみ、クライアントPCにExcel、という構成であったが、VBAのシステムがお客様先で「遅い」という話になった。
社内で検証した際にPCによって処理速度がかなり違うことが分かっていたし、社内環境に比べてお客様環境は非力であったので「クライアントPCが原因」だとお客様に説明していた。

しかし、そのように説明してもお客様環境は「すべて同程度のPC」であったこともあるのだろう、納得して貰えなかった。
そこで、マシンによる差異を実際に見て貰おうと開発側の社内で見て貰おうとしたところ、「実環境でやって貰わないとサーバーのせいなのか判断がつかない」ということでPCを持ち込むことに。しかし、いいマシンは社長とかの手にあり、借りていくことができなかった。(すでにフリーランスだったし)
そこで、やむなく自宅のPCをお客様先に運んで実際に見て貰うことにした。お客様環境と比べ
 ・メモリが多い(512M→2G)
 ・コア数が多い(1→2)
という点が違った。

テストは誰も使っていない休日。公平を期するため、交互に同じ処理を3回ずつ実施した。記憶が怪しいが、速度は2~4倍くらい差がついたように思う。

その休日出勤やPCを持ち込んだ際の駐車場代も休日出勤代も、代休さえも貰えなかったのも驚いたが、その数ヶ月後、お客様先のPCがすべて2コアでPentiumになっていたのにはもっと驚いた・・・。

VBAにおける高速化のテクニックはいくつかあるし、実際にそれで大幅に速度改善したこともある。しかし、マシンだけで数倍差がつくなら、台数によりけりだが、最終手段としてはアリかな、とも思う。
昔はBorland社だったが、今はEmbarcadero社が開発をしているDelphi。先日「Delphiユーザーはプラス15,000円でRAD Studio を入手できる(2012/6/29まで)」との情報を得た。

で、RAD Studioは何ができるのか。Delphi時代は既にWindows、Mac、iOS向けの開発が出来るのでこれだけでいいやと思っていたが、RAD StudioにはPrism という言語が入っているとのこと。これは一体何者か?

PrismはDelphiライクなプログラミング言語だそうで、.NET開発をサポートしているとのこと。過去のDelphiも.NET開発はサポートされていたが、Borland社からEmbarcadero社に譲渡があった際に「.NET対応製品は契約の関係で譲渡されていなかった」のだろうと思うが、.NET非対応である。それがPrismでは解消されているようだ。


また、Embarcadero社のprism のページによると、Prismは「Windows、Linux、Mac OS Xをターゲットとしたアプリケーションを効率的に開発できる真のクロスプラットフォームソリューション」だそうで、「Oxygene言語(Prism言語)は、習得が容易で、他の.NETプログラミング言語にはない強力な機能をサポートしている」とのこと。
また「Prismを用いれば、Delphi開発者は、慣れ親しんだPascalベースの言語を用いて、.NET/Monoプログラミングを実践できる」そうである。

これだけすごいのに、Prismの記事が少なすぎるのはなぜなのだろう?

とりあえず入手してみようかなという気にはなっていきている。

-----------------------------
追記 Delphi の Metoro(Windows 8)への対応状況が、まだあまり日本語化されていない、のはナゼだろう?
ふらりと入ったPCショップで、Webカメラが980円!で売られていたので購入した。

【新品】バッファローコクヨサプライ BSW20K06H/BSW20K06HSV★【auktn】

¥2,288
楽天

店によりけりのようだが、さすがに980円は安いらしい。

使い方はカンタン。USB端子につなぐだけ。付属のソフトでカメラの調整ができる。この機器には機能として付いていないが、ソフトウェアの方にはズームとかパンとかあるので、カメラの制御ができるのだろう。
お手軽にPC制御の監視カメラのできあがり、ということも可能なようである。