これまでずっとなるべく言わないようにしていたのだが、もう平たく/明快に言うことにしました。
1)VB6はもう立ち直れないと思う。
だから、
2).NET勉強してマネージドという高速道路を行く道を真剣に考えてみて欲しい。
これまでは、1)は言わずに、2)だけ言ってきた。で、「.NETで開発する」の中でも、私が知っている「C#で開発する」ことの楽しさ、働くための方法をなるべく具体的に紹介するようにしてきた訳なのであるが、前半も言うことにしました。その理由は、若い人に早く気づいて欲しいから。VB6を使っていたら駄目、というわけではないが、サポートもなくなって、セキュリティパッチもなく、64bit環境が普通になってくると、みるみると進路変更は大変になる。ところが、多くの人が「VB6に未来はない」と気づく頃には、そういう「進路変更大変状態」になってしまっていることが多い訳です。
というわけで、明言することにした次第。
今の私が考える、VB6プログラマの1年後ぐらいの将来はこんな感じだ。
- ベストケース:一世を風靡した時代の力は面影もなく、VBに活力はないが、素早く・容易に多くの人がそれなりの開発ができ、Silverlight3への道筋も見え未来が開けている。
- ベースケース:.NET界の技術の差は激しく、一部のDSLを開発できるような開発者と、DSLを開発できない、ただそれを使うだけの多くの技術者に分離、前者はさらに上を目指して暮らす(Thoughtworks的コンサルタント天国型)
- ワーストケース:閉塞感と絶望と苛まされ、VB6に固執する技術者が増加、新しい環境に対応できずセキュリティや安定性に問題のあるソフトウェアが増加する。
ワーストケースになると、VB6の外にいてもとても怖い。今までVB6で作られたプログラムも多いし(5年後なっても恐らくRubyのプログラムより多い)、VB6プログラマは環境に固執することにかけては世界で最も優れた技術者である。なんだかんだ言って技術力だって大いにある。大量の優秀な人たちが間違った方向で開発し続けたら何が起こるか。使い辛く、性能が悪く、セキュリティ的にも問題のあるプログラムが世の中に溢れてしまうのはないか。あと、怖いだけでなく、VB6で開発者の道に入ったものとして悲しい。なので、是非これだけは避けて欲しい。
というわけで、なんとかせめてベースケース、できればベストケースに至って欲しいわけです。
そのためには、「VB.NETでの変更点に対する抵抗感」を少なくするとよいかと。「VB.NET」が打破できないなら一足飛びにC#に行けばよいではないですか。
とはいうものの、C#でいきなり開発するのは大変だと思うので、まずはVB9で開発を始め出来るだけ今までのまま開発する、というのが楽なわけです。この方法には、「C#で開発したけど、やっぱりVBで開発したい」という時は、VBに戻って開発すればよろしいだけ、という利点もある。ま、全員が全員そうとは言わないが、大抵の場合、同じ個人に関して言えば、.NETでの開発経験がある方が.NETのC#のような他言語での開発でも優位になるので、特にVBの経験の浅い人だったら失うものはまずない。
(こういうことを言うと、「VB.NETで失敗したからから、C#にいったような人は、C#もまともな開発ができない」などという人もいるが、そういう人は…(略)
「.NETでの開発経験を積む」人が増えることは、今のVB6プログラマのためにもなる。VB6から.NETへの以降経験についてフィードバックされる量が増えれば、それだけ続く人の移行が楽になるのだから。
+++
もちろん、上述した通り、技術者間の技術力の差が広がりつつあるし、今後もどんどん広がると思うので、「いまのままで勝てる!」と思う人は、是非今後もその道を邁進してください。でもRubyとかPHPには気をつけてね。
あと、「VB6を根本から変えてVB6を良くする」という自負のある人も是非VBのオープンソース実装等をトライして欲しい。
—
ネタですから・・・
元ネタです:
On Off and Beyond: 海外で勉強して働こう
参考にさせていただきました:
もうエンタープライズJavaなんて捨ててしまえ – ひがやすを blog
まじめに、海外に出て行ける可能性があるなら、まじめに検討した方が良い。特にクラウドをただ使うのではなくクラウドの内側、雲の向こう側でそれを作る仕事をしたい人はこの国に居ては行けない。言葉がハンデだと思うなら、それを今すぐにでも乗り越える準備をしてこの国を抜け出せ、そうでないと君の望む未来はやってこないよ。この国の中にいてはそれは手に入らないものだ。
コメント