インド人プログラマーは"優秀"か

若い頃にネットベンチャーに在籍していたことがあります。
アメリカで行っていたサービスを日本に持ってきて使っていたのですが、ローカライズをインド人のプログラマーが行っていたこともあり、インド人が書いたプログラムについて考えさせられた経験があります。その時に思ったことをまとめてみました。

インド人プログラマーの書いたプログラムを見て思ったのは、

なんじゃこりゃ。

です。
とにかく、なんでこうなっているか分からない。しばらくじっと考えて1行ずつプログラムを丁寧に追ってみてやっとわかりました。そのプログラムはとてもとてもトリッキーな動きで処理をおこなっていたのです。そのトリッキーな手法はプログラム全体にわたっていました。これを理解したときは、さすが0を発明した国のプログラマーだ、発想が違う、と思いました。おそらく日本人のプログラマーがこんなプログラムを書いたら怒鳴られるんじゃないかと思います。

さて、このプログラムは悪いプログラムでしょうか。

日本だと即座に悪いプログラムにされます。失格です。
ですが、邪道ではあるけど、このプログラムは正しく動いています。ちゃんと用をなしています。これは想像ですが、インド人のプログラマーは自分が知っている知識をフルに使ってこの手法を考えついたんだと思います。そして、とにもかくにもちゃんと動くものを作った。

こう思ったときに大学時代に知り合った中国人留学生のことを思い出しました。
彼は、英語が話せます。が、彼の話す英語は文法はあっていないし簡単な単語しか使っていない、と英語が話せない自分が思ったんですね。

文法や単語を考えしまって結局英語が話せない自分。
簡単な文法や単語でとにもかくにも英語を話してコミュニケーションを取ってしまう彼。

英語の目的がコミュニケーションを取ることなら、彼が正しいですね。

そしてプログラムもこれと同じじゃないかと思ったんです。

日本人って自分で考えずに、とにかくこの技術を使うのが常識、こう組むのが常識、こうコーディングするのが常識、そういうことにとらわれすぎだと思います。
それに意味がないわけじゃないけど、一番こだわたらないといけないのはそこじゃないだろう、と思うことが度々あります。

彼らは一番こだわらないといけないものをちゃんと満たす。
おそらくインド人プログラマーが優秀と言われるのはそこなんだと思いました。

この記事が気に入ったらサポートをしてみませんか?