Wednesday 9 July 2008

Java と Perl

http://blog.livedoor.jp/dankogai/archives/51078279.html

プログラミング言語なんてなんでも良いじゃんという気もしますが... 最近、結構、Java をいじっている経験では、

Java の方が書くのに時間がかかる。2倍じゃきかないです。その大半は、APIドキュメントを読んでいる。

Eclipse は確かに助けになる「気がする」が、ざ〜っとコードを書くのに、いちいち赤いれるのやめろという感じ。

Java の Interface と Inheritance が干渉すると型検査ではまる。class/interfaceの再設計で、うっかり1時間考え込んじゃったりする。本末転倒です。

でも、割りと楽しいかな。GC あるのは、やっぱり楽だし。

Perl もGCあるんだけど、module をがしがし使うのはうざい。Java と違って標準的なものがない。source filter とかは、やっぱり反則な気がする。

最近、書いたPerl script ってなんだろう? たぶん、SPAMの統計ツールだな。じゃない、コマンドラインからTwitter に書き込む twitter.pl か。SPIN/Promela のtraceをvisualにするscript とかも書いた( XSPIN 使えよって気もするが)。bin に置くものだけで年間10個ぐらい書いているらしい。

Perl のオブジェクトは実装が見えるのが好きです。$obj->hoge ってのが $obj->hoge() になるので遅いなんていう話(404 Blog not found)があるが、$obj->{hoge} と明示的に書けば良いじゃんとは思いました。でも、auto quote されないか。

そんなわけなので、Perl を書く時には「頑張らない」という態度ですね。まぁ、正直、わからないPerlのソースを読むのは、かなり苦痛だから、それよりは自分で頑張らないで書いちゃえって感じ。その意味ではあんまり遊べないかな。

というか、特定の言語へのこだわりはないです。C++ も「あまりに複雑だから普段は使わない」程度でもある。と言うよりは「他の人に説明するコストが高すぎ」だからか。なので、最小限だけでやろうってことなら、C++ を拒否する理由はないです。いや、Template しまくりとかいうのが来たら、そいつをプロジェクトから外すよりは「C++は止めよう」と言うだろうけど。学生は、すぐコピペするから、C++のコードでもTemplateを使った可変長配列とかを持って来るので、やっぱりだめだと思う。

C++ は自分で書いても「みかけはきれいだけど、理解できない人がいると困る」みたいに考えることが多いので、そういう意味でも楽しくないです。

結局、C が一番楽しめるかな。

No comments: