逐語翻訳について

考えてみると、例えば日本語の「わびさび」なんて概念を外国人に説明するのは難しい。つまりは、日本語的なものを、外国語に翻訳するのは大変だと言うことになる。原文の細かい概念まで書き下せば、当然原文よりも不要なものは増えるし長くなる。当然だ。
エキサイト翻訳なんかで、日本語→英語→日本語なんていう翻訳をやると良くわかることだけれど、同じような長さで、なおかつその重点となることを伝えようとすると、言語が違うんだから当然変わるわけだ。
じゃあ、プログラム言語の場合はと言うと、やっぱりこれも言語である以上、その本質は変わらないわけで、得意なものと不得意なものがあることになる。特定の処理をしようと思ったときに、書き方が変わるわけだ。
例えば、PerlPHPで関数の宣言部分を書くと、

Perl:
sub func1{
     ($hoge1, $hoge2) = @_;

}

PHP:
function func1($a, $b){
}

となって、PHPの方が短い。だからって、Perlの方がPHPに劣るわけじゃない。あるいはJavaになると、単純な関数宣言はめんどくさい。それぞれの変数の型を書いたりしなくちゃいけない。その代わり、そういう点でのバグはでにくくなる。
誰もがそう言うように、適材適所ということはそうなんだけど、俺が言いたいのはそういうことだけじゃなくて、逐語翻訳は馬鹿らしい、ということ。全く同じことを実現するための方法も、PerlPHPじゃ違うだろうし、オブジェクト指向をどれくらい使うかも言語によって違うし、クラスの切り分け方だって変わるはずなんだってこと。
TMTOWTDIってのは、そういうことなんじゃないのかなぁ。