ITは芸術だ このページをアンテナに追加 RSSフィード Twitter

2010-10-08

犬小屋と高層ビルの違い

ちょっと興味深いエントリを見つけました。


IDE教育に不安を覚えること - みねこあ


なるほど、Smart UIと呼ばれる作り方が、システムの品質を下げるという点は同意です。

ただ、その原因がIDEにあるのかというと、必ずしもそれだけではない気がします。


おいらが思う一番の原因は、犬小屋と高層ビルの作り方の違いに気づいていないプログラマが多いせいではないかと思っています。

つまり、「はじめてのXXX」とか「一週間でわかるXXX」みたいな本やWeb記事には、ごく基本的な文法の説明や簡単なサンプルプログラムの作り方しか載っていません。

こうした説明のほとんどはSmart UIパターンになっていると思います。


もちろん初心者向けの内容なので、簡単な内容に終始してしまうのは仕方ありません。

しかし、ここで説明されているのは、いわば犬小屋の作り方です。

実際に業務でシステムを構築する場合は犬小屋レベルの案件はほとんどありません。

業務で遭遇するのは一軒家やマンション、もしくは高層ビルです。


犬小屋の作り方しか知らない人間が果たして高層ビルをまともに構築できるでしょうか?

もちろん無理な話なんですが、そのままやっちゃうんですよね〜。犬小屋の作り方で。


実際の建築ではビルは作れませんが、システム開発においては「とりあえず動くレベル」のものは作れちゃったりします。

そして、なまじそんなシステムがリリースできたりすると、開発者は変な自信を持ってしまったりします。

でも、所詮犬小屋の作り方がベースなので、フタを開けてみると中は目も当てられない惨状が広がっています。。。


というわけで、犬小屋と高層ビルの違いを認識し、「はじめてのXXX」とか「一週間でわかるXXX」で書かれている内容はあくまで参考程度にしかならないということを理解することが重要だと思います。


高層ビルを作るには高層ビルを作るための高度なスキルやテクニックが要求されます。

その中の一つとして挙げられるのが「設計力」です。

一つ一つのプログラムを作り上げるスキルだけではなく、システム全体のアーキテクチャを設計するスキルが重要になってくると思います。


ところが大規模システムを開発する際に参考になる文献は、というと非常に数が限定されます。

大体において分厚い本になってしまうので、読みたがらないプログラマも多いです。

その結果、犬小屋しか作れないプログラマが蔓延する・・・という好ましくない状況が続いている気がします。


そこで「それじゃあダメだ!」と思った方のために、おいらが今までに読んで参考になった本を紹介しておきます。


プログラマから設計者へのステップアップを説いています。

それほど分厚くないので読みやすいです。


実践!ソフトウェアアーキテクチャ ~VisualStudioとASP.NETによる業務システム開発方法~ (.NET TECHNOLOGY)

実践!ソフトウェアアーキテクチャ ~VisualStudioとASP.NETによる業務システム開発方法~ (.NET TECHNOLOGY)

上の本と同様、こちらもプログラマからソフトウェアアーキテクトへのステップアップを推奨しています。分厚くない点も同じです。

具体的なアプリケーションを構築しながら、一つの設計例を示してくれます。

もちろん、Smart UIパターンではありません。


一つのサンプルプロジェクトを最初から最後まで具体的に説明してくれます。

UMLなんかでシステムが作れるんかい!?と思っている方にはオススメです。


このシリーズのVol.3〜5は、大規模な情報システムを構築する際に参考になる考え方がたくさん載っています。


ビジネスロジックを構築する主要なパターンとして、トランザクションスクリプト、ドメインモデル、テーブルモジュールがあることは押さえておきたいですね。

あと、システムのレイヤー化についても載っています。

ただし、訳が読みにくいのが難点。


プログラミングだけでなく、システムを配置するハードウェアや運用面など、システム全体のアーキテクチャを構築する際に参考になる情報がたくさん載っています。


プログラミング技術だけでなく、システムを設計する際にも参考になる情報が非常に多いです。

技術者として幅広い知識を身につけることができます。

読むときは必ず上下巻セットで!


P.S.

犬小屋と高層ビルのメタファはおいらが考えたものではなく、どこかで読んだ本に書いてあった話です。

何の本だったかな〜?CODE COMPLETEだったような気もするんですけど。。。


P.S. 2

ちょっとこの話に関連した小ネタを追記しておきます。


ご参考までに〜。

LainZeroLainZero 2010/10/08 12:16 元記事の
>SmartUIはデスマーチを奏でるラッパの音です。

うん、今となりで鳴り響いていると思うんだ・・・。
豪快な音で。ははは・・・

FlorianFlorian 2010/10/09 00:09 犬小屋と高層ビルではありませんが、「ピラミッドとエンパイヤステートビル」というメタファはまさに近代IDEの先駆け、Smalltalk教の教祖である(というと、当人は大変いやがるらしい)アラン・C・ケイです。
http://metatoys.org/oxymoron/oxymoron.html

JunichiItoJunichiIto 2010/10/12 04:38 みなさん、コメントありがとうございます。
返信がおそくなってしまいました。すみません。

LainZeroさん
いや、SmartUIというより他のところにもっと大きな問題が横たわっている気が・・・。

Florianさん
なるほど〜。メタファとしては少し似た物を感じますね。
昔会社の先輩が「俺たちはIT土方だ」って言ってたんですが、それってまさに「ピラミッドの作り方」だと思います。
この業界がもっと成熟して、そういう土方的発想が遠い過去の遺物となるような時代が早く到来してほしいものです。

hiro128hiro128 2010/11/19 00:11 こんばんは。お邪魔させていただきました。
犬小屋と高層ビルはとても上手いたとえですね。
そういえば、僕が就職して1週間くらいのとき、当時の上司に「24時間でわかるSQL」という本を渡され、
「8時間x3日=24だからお前は3日後にはSQLがマスターできるはずだ」と言われました。
それ以来、「XXでわかるXX」と言う本は一切見ないことにしています(笑)

JunichiItoJunichiIto 2010/11/21 08:57 コメントありがとうございます(^ ^)
う〜ん、その上司さん、本気だったんでしょうか・・・?
たしかにおいらも長らく「XXでわかるXX」系の本は読んでないですね。
この業界に入った最初の頃はついつい買っていましたけど (^_^;
でも「今夜わかるxxx(HTTPとかメールプロトコルとか)」シリーズは結構実務で役立ちました。
あとは全部ダメだったような・・・。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証