「オブジェクト指向のこころ」が良い

この手の本に付箋貼りながら読むなんてことは滅多にないんですが、宣伝でも何でもなく、久しぶりに腹落ち感が半端ない本に出会った感じがします。

f:id:deutschina:20190609215839j:image

 

何で今更?

このブログでは仕事の話はしないことにしているのですが、今回は少しだけ。自分のいる業界は、IT業界といっても、エンタープライズ寄り。かなり技術的なポジションではあるものの、SIerどっぷりという訳ではなく、少し客観的に見られる立場という意味で少し特殊ではあります。

 

そんな中、プログラムの開発とかデータモデリングの話をSIerの子と話していると、自分より一回り以上若い子(と言っても10年選手)が、やけに古臭い手法を持ち出そうとする。すると正真正銘のおじさん(=自分)に「そのソリューションいつの時代のよ?加齢臭がする」とイジられて苦笑いなんて事がちょくちょく。普通はおじさんが若い子に同じことを影で言われるんだろうけど、何故だか逆のことが起きてる。

 

ホントは世代問題ではなく

現状、おじさんが若い子の中にいるので、敢えてネタっぽく自分も世代間問題のように言っているものの実際は情報の非対称性の問題なんだよね。

 

自分は相対的に新しい情報を手に入れやすい立場であり、何やかんや言っても、それを試す機会もそれなりにある。一方で今SIerで脂が乗っていると言われている世代は、日頃の仕事に忙殺されてキャッチアップも遅れ気味。迫り来る期限と戦いながらとなると「前例がある」が免罪符となって(内心はこのままじゃいけない気がすると頭の片隅に思いつつも)古臭い手法で乗り切ろうとする。

 

エンタープライズ向けIT業界の場合、新しい技術はどうしても遅れ気味でやってくるのと、ユーザー企業の業務の継続という意味で、古いやり方でも動くように互換性が担保されているのが普通なので、これで何とかなっているんだけど、とは言えね…と思う今日この頃。

 

その最たるものが

オブジェクト指向どころか時代は関数型でしょという声も聞こえて来そうですが、エンタープライズIT界隈では、オブジェクト指向以前の手続き型プログラミングがまだ根強く蔓延っている訳です。

 

でも、オブジェクト指向の考え方は10年以上前にエコシステムの中に取り込まれていて、エンタープライズ系の某大手の技術文書なんかを読むと手続き型の書き方はdeprecatedだって書いてあるんだけどね。それでもオールドファッションがまかり通る理由はいくつかあって、思いつくまま挙げてみるとこんな感じかな。

 

  • とりあえず手続き型でも動いちゃう
  • そもそもdeprecatedだということを知らない。というより英語の情報はガン無視を決め込む
  • 業界特有の成果物のフォーマットがオブジェクト指向に合わない切り口になってる
  • オブジェクト指向的な作り方をした事がないので、どうしたらいいか分からない

 

いかん。何かをdisる感が滲み出て来てしまった(笑)

 

俺は伝道師になる?

となると、このエンタープライズIT界隈でも、もうちょっとオブジェクト指向を取り入れていこうよと思った時に、新しい考え方をまず自分が熟知しておかねばという事で、先日手に取ったのがこの本な訳なんです。

 

これで本質を押さえて伝道師になるづらぐらいの感じで読み進めたら、目から鱗落ちまくりで、自分が今まで書いたプログラムを大急ぎで書き換えたくなるくらいの衝撃を受けているところでございます。

 

オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES)

オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES)

 

 

この本は、多少Javaのコードも出てくるものの、概念の説明が中心。自分が仕事で使うのは、Javaではないエンタープライズ界隈独特の某言語なので、それを脳内に置き換えながら読み進めていくうちに、最初の写真のように付箋だらけになってしまったと。徐々に身の回りで伝道師的活動もしていこうと思っております。

 

ところで、SIerも超若手くんに話を聞くと、Javaだったりオブジェクト指向言語を学生時代や研修とかでやっているらしいので、そういう子は古臭いやり方はそのままスキップして、ネイティブオブジェクト指向で行ってくれればいいのにね。