W3C Technical Reportの5ステップ

1.草案 Working Draft
2.最終草案 Last Call Working Draft
3.勧告候補 Candidate Recommendation
4.勧告案 Proposed Recommendation
5.勧告 Recommendation

出典:大津真『JavaScriptプログラミング入門 第2版』

ちなみに、HTML5は2011/5/25に最終草案が出て、現在は勧告候補の策定中。(最終草案はここで読める)

CSSは、「CSS3」という大枠ではなく、個々の機能別にDraftやRecommendationが出てるみたいなので、ちょっと事情が違う。例えば、CSS3のセレクタ(:last-child等)は、もう勧告が出てる(2011/09/29)。一方で、Grid Layout(テーブルレイアウトのような感覚でdivをレイアウトできる、新しいプロパティ)は、今年の3/22に草案が出たばかり。

個人的には、CSSの草案・勧告が楽しい。「こんなことが出来るようになるのか!」という期待感がある。

「GREEの藤本氏はPHPの神」とはどういう意味か

最近PHPを少しずつやっているのですが、その際にどこかの記事で「GREEの藤本氏はPHPの神」というフレーズを見ました。他にも、優秀なPHPプログラマーの例として藤本氏を挙げている人もいたり。ということで、GREE CTOの藤本真樹氏とPHPの関わりについて調べてみました。

結論として、藤本氏はPHP言語の開発者の1人ではあるけれど(すなわち、PHPの創造主=神 のうちの1人)、PHPを使いこなしてすごいプログラムを書いてる人、と言えるのかはよく分かりません。

もちろん、藤本氏はすごいプログラマーです。文学部出身でプログラムは独学で、一線級の技術力を身につけているのは、素直に尊敬します。

ただ、GREEのシステムのコードのどの程度がPHPで書かれていて、その内のどの程度が藤本氏の手になるものなのか分からない以上、「藤本氏のPHPプログラミング能力は未知数(相当に高いのは確か)」としか言いようがありません。

実際、まつもとゆきひろ氏との対談には、「たしかにPHPメンテナーではありましたが、実はあまりPHPではプログラムを書いていなかったんですよ。」という発言があります(「(以前の会社では)書いていなかった」なので、GREE入社後にはPHPも書いているんだと思いますが)。

ちなみに、この対談には興味深い問答があります。

──エンジニア採用でも、これからはRubyの使用経験を重視しますか?

藤本
Rubyの経験というのは直接の判定基準ではないんですが、「一つの言語しかできません」という場合よりは面白いのでは、と思います。複数の言語に精通というか、チャレンジしているのは一つの評価軸かもしれませんね。

「複数の言語の使用経験があることが採用時に評価される」という点はもちろんですが、それ以上に個人的に注目したのが「面白い」という言葉。新人を採用するときに「この人は面白いか、面白くないか」という基準で見てるんですね。

こういう文脈では、「複数言語の経験がある方が生産性が高い」という方向に持っていく(実際、この記事の見出しはそうなっている)のが普通ですが、実際の評価軸は「生産性」よりもむしろ「面白さ」にある、と。

他にも、藤本氏関連の記事は色々読んでみましたが、出自が近い私には、非常に参考になりました。

1つは、情報工学について。大学の情報系学部で教わる情報工学は、知識・ツールとして強力ではあるものの、必要不可欠なスキルというわけではない、とのこと。

2つ目は大学の位置づけで、「大学は職業訓練校ではない」と。もちろん、医学系のように、大学での職業訓練を経ないとその職に就けない分野はあります。が、少なくともweb開発の世界では、畑違いの出身者でも、十分な好奇心と意欲があればやっていけるということです。

また、webの仕事をする上で数学が必要になる場面は限られてくるのですが、大規模なWeb開発では統計の知識が必要になるというのも重要なヒントだと思います。

というわけで、「PHPプログラマーのスゴイ人」の代表例として藤本氏を挙げるのはズレている気もするのですが(藤本氏は「PHP書くスゴ腕プログラマー」である。「PHPしか書けないプログラマー」ではない)、藤本氏がスゴイ人であることは十分に理解できました。

PHPは何の略称か?

プログラミング言語PHPの略称/正式名称についてまとめると、

略称   PHP
正式名称 PHP:Hypertext Preprocessor
PHPとは Personal Home Pageの頭文字を取ったもの

要するに、正式名称は「PHP:Hypertext Preprocessor」。略称の「PHP」は、「PHP:Hypertext Preprocessor」の、:(コロン)より後ろの部分を省略したもの。

ちなみに、このことはPHPマニュアルにも記載されいる。

余談。出版社のPHP研究所は、「Peace and Happiness through Prosperity」の略。現パナソニック創立者である松下幸之助が設立した。

└や┌の出し方(罫線)

文章を書く時、その論理構造を図式化することがあります。そんな時に階層構造を表す記号を使うのですが、その記号をIMEを使って出力する方法があります。

やり方は、「けいせん」を変換するだけ。└ ┘ │ ┌ ─ ┐など、様々な罫線文字が変換候補に上がります。

「けいせん」以外にも、「たて」│ 「よこ」─ 「ひだりした」└ などと変換できます。注意が必要なのはIMEのクセ。MS-IMEでは、「たてひだり」を入力すると ┤ が出てきますが、Google日本語入力では出て来ません。Google日本語入力で ┤ を出したいなら、「けいせん」から変換してやる必要があります。

PHPエディタとしてEclipseを使ってみた

今まではコーディング作業時にはサクラエディタを使っていた。HTMLを書く分にはサクラエディタでも十分便利なのだけど、PHP等のコーディング作業にはより便利なツールがあると聞いた。

統合開発環境のEclipseだ。オープンソースソフトウェアで、無料で利用することができる。コードヒント機能も充実している。通常のエディタよりも遥かに高機能であるらしい。

ということで、Eclipseをインストールして、PHPを書くための環境を構築してみた。難しい作業は必要ない。

Eclipseを日本語化し、さらに各種プログラミング言語用のプラグインを同梱した製品として、Pleiades All in Oneがある。これをダウンロードして、解凍して、起動するだけ。

PHPの動作確認用にXamppも同梱されている。コードを書いた後で動作確認をする際は、Xampp/htdocs フォルダに.phpファイルを放り込んでやればいい。

手順は、
1. htdocsフォルダ直下に xxx.php を置く
2. Xamppを起動してApacheがRunningになっていることを確認
3. ブラウザのアドレス欄に http://localhost/xxx.php と入力

起動にはちょっと時間がかかるが、機能は強力。まだまだ使いこなせていない機能が大量にあるはずなので、これからじっくり学んでいきたい。

Pleiadesのインストールに関しては、この記事も参考になる:
「Eclipse+PDT」でPHP開発~環境構築と使用方法

なお、この記事の中ではEclipseのバージョンは3.5だが、現在の最新版は3.7であり、3.7でもこの記事中の解説との食い違いは見受けられない。