唐突ですが、今忙しい。
案件は4つ動いていて、一つがPHP4、一つがPHP5、一つがJava、
一つがFlash/AS3/Ruby/C++(Ruby extension)です。
別にお客さんから言語を指定されてるわけではありません。ITユーザーのニーズは多種多様。それに合った言語を選ぶと、こうなってしまう(言語論争なんてしてる場合じゃないっちゃ!)。
は、たいてい構成は同じ。
「データ型」に始まり、演算子、配列操作、入出力、正規表現、例外、スレッド、そして「おまけ」で締めくくる。
ワンパターンではあるが、この辺りはちゃんと読んでおくべし。のちのちムダにハマる時間を圧倒的に削減できるからです。例えば、「何が真で何が偽か」は言語によってずいぶん違う(得意な言語の真偽について、間違いなく説明できる?)
なんとなくプログラム書いちゃってる派でも、ちょっとだけ覚えれば無駄なデバッグ工数が激減するのだから、めんどくさくてもちょっとだけ覚える時間を費やした方が吉であります。
さて、今日は何が言いたいのかというと、
それぞれの言語が「何のために」「どういう使われ方をしてきたか」は、言語仕様なんかよりもずっと重要だと思う。
例えば、
Web用の言語として発展してきただけあって、WebのTipsが満載。
例えば、
マルチな言語として長年愛されただけあって、そういうTipsが満載。
この二冊は特にお奨めです。
もちろん、どんな言語を使っても出来ないことなんてほとんどありません。どの言語も、何でもできる。でも、その言語の文化で蓄積されたアイディアは、その言語特有のモノがあると思います。
もしアナタがJavaマスターで、PHPなんてケチョンケチョンに非難したいのなら、まずは、PHP Hacksに書いてある内容を「Javaならどうするか」を考えてみていただきたい。
PHPを知ってるかどうか、好きか嫌いか、今後PHPで仕事をするかどうか、なんて全然関係なくて、「アイディアを頂戴する」ために(目次だけでもいいから)読んでみるのです。
「そこには目新しいアイディアがナイ」と言い切れるなら、それも良し。Javaを使い続ければいい。
とか、ちっさいことに非難を浴びせる前に、自分にはなかったアイディアに注目したい。きっとたくさん見つかるはずです。