影舞 0.8.7

久々にバグトラッキングシステム 影舞のバグ修正版Ver. 0.8.7がリリースされてます。

広告

自分もそろそろPHPについて一言いっとくか

各所*1でPHPがネタになってるので、ここらで自分も一言いっとく事にする。

というのも、ここ最近必要に迫られてPHPのコードばかり(普段はJavaかRubyが多い)書いてた事もあって、PHPが叩かれてる理由は非常によく分かるんですね。

自分的には、PHP5のオブジェクト指向関係での微妙なJavaからのパクリ具合とか、Rubyより新しく出てきた言語にもかかわらず脈絡なく整理されてない標準ライブラリ関数とか言語仕様とか・・・
突っ込みどころを挙げるときりがありません。

だがしかしです、PHP5前夜の2003年、たまたまオリジナルのPHP作者であるRasmus Lerdorfと話す機会にに恵まれ、本人から聞いた所だと以下のような感触でした。

  • PHPはあくまでテンプレートエンジンだよ。

 これは、まつもとさんもRasmusがPHPは言語じゃない(ツールだ)と言ってたと日記に書いてますね。元々はPHP/FI(Personal Home Page/Form Interpreter)と呼ばれてた事からもみてとれます。

  • 大規模なシステムを作るにはC++とかJavaとかStrongly Typedな言語を使うべき。

これも、PHP作るくらいの人なら、もっと大規模なシステムならC++なり何なりで作って、PHPエクステンションにすればいいやといった感覚だと思われます。

Rubyのまつもとゆきひろ、PerlのLally Wallといった人々と比べると、PHPのRasmus Lerdorf はあまりBlogや公演等で語る事が少ないのか、PHPを作った動機とかスタンスについてあまり理解されてない気がするのですが、驚き最小の法則をモットーにシンプルで美しい記述が出来るオブジェクト指向言語を目指したRubyと、最初からApacheモジュールとして実装して、それまでのCGIスクリプトに比べ圧倒的に軽量な動作をするテンプレート言語を目指したPHPとでは、その出自の違いから、PHPの言語仕様が微妙かつ場当たり的になっちゃってるのは、まあ無理もないといった感じでありましょう。

それでも、Ruby以上の速度で世の中に受け入れられて行ったのは、Apacheモジュールに特化した言語という目の付け所の良さ、MySQL等DB接続ライブラリのサポートの良さ、Zend以降の高速化等当時必要とされていた利点が多々あったからであって、大規模システムや複雑なクラスライブラリをPHP言語だけで実装するという事が、そもそもの不幸の始まりなのではと思えてなりません。

その他、印象に残った話題としては、

  • 生まれはグリーンランド(デンマーク領だって初めて知った)
  • 日本のプログラマーの年収を聞いてびっくり!シリコンバレーのプログラマーは大卒初任給でも1000万くらいからスタート、シニアエンジニア級なら2000万以上も普通に居るよみたいな。。。
  • 前の職場はLinuxCare、その前はIBMに勤めてたけどIBMみたいな研究寄りカルチャーの会社ではPHPを作った事とかは全然評価されなくてショボーン、Yahoo!に入ってからはPHPを活用してもらえて嬉しい。

ってな話をしてくれたのを記憶してます。

なにぶん5年前、酒の入った席で僕のつたない英語力で聞いた話なので正確性は保障できませんが、以上が2003年秋@六本木の忍者コスプレ居酒屋にてPHP作者から直接聞いた話でした。

各所:


Rails 2.0への移行

近頃開発停滞中なPhotoXP 2.0αをRuby on Rails 2.0に対応させてみました。

参考までに、以下に移行に必要になった作業をメモしておきます。

1. デフォルトではセッションをCookieに格納するようになったため、config/environment.rbに設定を追加。


config.action_controller.session = { :session_key => "_photoxp_session", :secret => "ba41124efc149ce2f17a85b4b206a" }

2. pagenate機能はプラグインに分離されたので、classic_paginationプラグインを導入。

参考URL: http://d.hatena.ne.jp/idesaku/20071210/1197260363

3. Reloadableモジュールは廃止されたので、明示的にinclude Reloadableしている場合削除する。
今回はGoogle Mapsプラグインがそれに当たりました。

4. scoped_accessプラグインをRails 2.0対応版に更新。

参考URL: http://wota.jp/ac/?date=20060704

一言感想を言うとしたら、メジャーバージョンアップした割には意外とすんなり動いてびっくり。:-)


ヒストグラム表示Flash

勉強のために、PhotoXP 1.xで使っているヒストグラム表示Java AppletをActionScript 3.0で書き直して見ました。FlashはJavaに比べて起動が速くていいですね。

samba-2007-2.jpg

(R, G, B, L部分をクリックするとグラフをOn/Offできます。)

続きを読む »


FlashDevelopでActionScript3開発に挑戦

世の中のJavaScript&AJAXブームをスルーした自分なのですが、今更ながら、FlashのActionScript 3プログラミングに挑戦中。

さすがに、Flex2 SDKとエディタとコマンドラインだけではつらいので、便利な統合開発環境は無いかと(FlexBuilder 6万円也というのは無しで・・・)探してみたところ、FlashDevelop 3.0(beta3)がActionScript3にも対応していて、日本語も通るのでこれをメインで使うことに。

以下、とりあえずメモ。

FlashとActionScriptについては、まだまだ分からない事だらけなのですが、目下最大の疑問はfl.eventsとかfl.controlsとか、fl.*以下のパッケージが使えない件。flash.*やmx.*は使えるんですが、なんで~!?