常識を捨てるということ

システム開発を長いことやってるけど、開発言語によって「まだそんな言語使ってるの?」と言われる事がある。

まあ、VBのことですw

ちなみに、僕が今一番長く保守(2011年〜)しているのはVB.netで作ったアプリケーション。そのシステムを開発し始めた頃から、既にプログラミングはさせてもらえない立場だったので、コーディングはしていないけど…

何故、VB.netで作ったかと言うと、提案時に「社内の別のプロジェクトで使っているフレームワークを流用することで、開発効率を上げます。」とか言いきっていたため。

提案時もワーカーとして関わっていたので、「ほう。そんなに効率良く行くのか〜」と感心しながら提案説明をするコンサルタントを眺めていたのはいい思い出。

まさか、開発に入る直前にそのコンサルタントがお客様から出禁を言い渡され、自分がプロジェクトのリーダーになるとは夢にも思っていませんでしたよ。

結果として、提案時にゴリ押ししてたフレームワークは使わなかった、というか中身がガチガチ過ぎて使えなかった。
社内にあるフレームワークをいくつか選定して、その中でも軽めのやつをカスタマイズして使っている。

また、ユーザさんはもともとWeb系のシステムを使っていたとかで、UIはWebっぽいものの方が馴染みが深い。ほんと何でVB選んだのかわからないし、プロジェクトの途中とはいえ、言語を変更しても良かったんじゃないかとも思う。

そんな状況だったので、開発時に目指したのは「Webのような見た目のシステムをVB.netで作ろう!」と言うこと。今思い返してもほんと無駄な努力w

でも、頑張ったの。「IEだって結局はWindowで動いているアプリケーションなのだから、VB.netで同じ見た目に仕立てあげることができるはずだ!」と、松岡修造もびっくりなぐらい前向きだった。

それで作ったのはこんな感じの画面レイアウトだった

無駄な努力というか、若気のいたりというのかw

でも、作っている時はとてもクリエイティブで楽しかった。プログラマの中にはこの作りを受け入れられない人もいっぱいいたし、後から来る「VB.net得意です!」という人ほどうまく開発できないという、ある意味あまのじゃくな仕組みを作ったと思います。

開発している時や、新しい人が来た時は「VBの常識は捨ててください」と良く言ってたし、自分も捨てた。VB.net以外の言語も色々見てきたけど、どの言語も悩むところは「どんな挙動をしたら正解なの?」がはっきりしているかどうかだし、他人の作ったコードはどんなに綺麗でもやっぱり「他人のもの」だということだと思う。

でも、最初から作り直そうってことになったらC#で作ると思うよ。やっぱりネット上にサンプルコードとか、ブログとか多いもんね。

VB.net使う人はあまりWebに露出しない気がするのです。そういう意味では言語の流行り廃りは確実にあるし、今から勉強するならみんなが使ってそうな言語がいいよね。

限られた状況でのクリエイティブな発想は脳汁でるよね(。・ω・)ノ゙