「staticおじさん」という言葉をご存じでしょうか。「static」というのは、Javaのstaticメソッドのことです。Javaでメソッドを呼び出すときにはクラスからインスタンスを生成してインスタンスのメソッドを呼び出すのが普通です。一方、staticメソッドはインスタンスを生成しなくてもクラスから直接呼び出せます。このため、オブジェクト指向プログラミングを理解していない古いタイプのプログラマは、Javaでもstaticメソッドを多用します。これを揶揄して「staticおじさん」と呼ぶのです。

 staticおじさんについては、わかりやすく解説したブログエントリが有名です(参考リンク)。実際のシステム開発の現場でstaticおじさんに苦しめられている様子をまとめたページもあります(参考リンク)。

 なお、Javaのstaticメソッドを多用する人に限らず、古い感覚にとらわれて周囲に迷惑をまき散らすプログラマをstaticおじさんと象徴的に呼ぶこともあります。この記事では、staticおじさんという言葉をこの意味で使うことにします。

自分だけの甘美な世界を必死で守る

 Webサイトを見ていても現実世界でも、「この人、staticおじさんっぽいな」と思える人はちらほらいます。そうした人たちに共通しているのが、たいてい妙に自信満々なことです。「プログラミングに対してこんなに乏しい理解しか持っていないのに、なぜこんなに自信があるのだろう」と常々、不思議に思っていました。