IT業界外の知見をエンジニアライフに生かしてみよう!

Visual Basicさん、やればできる子なのに。

»

 AhfさんひでみさんAnubisさん のVisual Basicなコラムを読ませていただき、自分も呼ばれているのだろうなと感じたので筆を運んだ。

 僕は、この業界に入ったときにVisual Basic.NET(VB.NET)を学んで以来4年間。いまも腐れ縁が続いている。5.0や6.0とはお付き合いしたくないなぁと感じているところである。

■若き日のMS嫌い刷り込み

 かつて「がんばれ!! ゲイツ君」というWebコラムがあったことをご存じだろうか。

 多分、僕くらいの年代の人は知らない人のほうが多いのではないかと思うのだが。

 あの記事の内容についてはよく覚えていないが、あのコラムのお陰で「Windowsなんて……」という思想が自分に根を張っていたように思う。

 そうしたなかで、最初の会社で触った言語がVB.NETであった。「なぜ……」と思いながらも、仕事だと思い勉強を始めた。

■やればできる子。なのに情報がない。

 そうしてVB.NETを学んでいく中で、「VB.NETでも十分プログラム書けるじゃないの」と感じた私はVB.NETを軸にデザインパターンやUMLなどを学んでいく。

 UMLに関しては、Java系の本で学んだ後、VB.NETで唯一のUML本・Visual Basic .NETで学ぶUML (すでに絶版。amazonマーケットプレイスでは値段が高騰)を経て、またJava系の本で学んでいった。

 デザインパターンも同様である。結城浩さんの増補改訂版Java言語で学ぶデザインパターン入門を経て、現アークウェイの中西さんによるVB.NETとC#でデザインパターンを使って学んでいった。

 しかし、VB.NETで学べたのもここまで。テスト駆動開発についてはMirosoft.NETでのテスト駆動開発を使って勉強したが、サンプルコードはC#。「Effective Javaのような本を……」と求めて見つけたのはEffective C#

 そうしたC#やJavaの本、果てはRubyやTitanium Mobileで学んだ知識までもVB.NETでのアプリケーション開発に投入していく日々がいまも続いている。

■限界に達する。

 そうやって学んでいったものの、限界というものはある。

 VS2010から登場したMolesやPexといったテスティングフレームワークはC#が前提。ASP.NET MVCも、ネット上の情報はC#。

 かといって、BasicなASP.NETではjQueryのようなモダンな仕組みを使うのにも苦労する現実。

 そうした現実に直面するなかで、僕自身VB.NETを取り巻く環境の限界というものを感じてしまった。

■Visual Basicだって捨てたものじゃない。

 Ahfさんは記事のなかでこう書いている。

 しかし、それでも私は Visual Basic ユーザーにもっと表に出て、もっと声を出してもらいたいと考えるのです。自分自身が Visual Basic に慣れ親しんできていたことも大きいですが、今現在の Visual Basic は決して当初想定していた現場側のユーザー層に留まるものではなく、先進的なことも十分に対応ができる状態となっています。今後主流となる非同期プログラミング技術も十分利用が可能なのです。今までは C# といろいろな差がありましたが、ここ数回のバージョンアップでそれもかなり埋まってきており、構文の差などかなり範囲は狭まってきています。
(中略)
 多くの人が多くの声を上げていくこと、それがお互いにとってよりよい方向へ進むために必要なのではないでしょうか。それはただのメモでもいいでしょうし、利用していて不満に感じたこと、「面倒だからこうやってやったぜ」なハック的なもの、さまざまな形があると思います。
 どのような形でも構わないので、まずは少しだけ今までやっていなかったことをやってみるのは、自分たちの仕事だけに留まらず多くの方面にプラスの影響を醸し出してくれるものと信じています。

 そうして多くの人の声が出てくることで、さらに Visual Basic はより良い方向へと進化を続けていくものと思います。プログラミング言語を作ることができるような頭の良い人たちが考えるのですから、当然それを利用する側である自分たちが思うベスト・ベターな方向とは異なる道へ踏み出すこともあるでしょう。

 まさしくそうなのだ。多くの人が多くの声を上げていったからこそ、JavaやPHP、Rubyといった言語は発展してきたのだ。一方VB.NETの技術者の多くは何かを発信してきただろうか。

 きっとそれは自分にもいえることであろう。私自身、VB.NETの技術者として何かを発信してきたのかと自戒せざるを得ない。

■VB.NETに罪はない

 僕自身、持論としていることがある。「言語に罪はなく、扱う人に問題がある」というものである。

 VB.NETは今も進化を続けている。C#と比べると一歩遅いかもしれない。だが、それでもオブジェクト指向での開発は十分にできるし、他言語で生まれた手法はいまもC#, VB.NETに取り入れられている。かつて嫌い刷り込みをしてしまったMicrosoftに対しても、その刷り込みはほとんど残っていない。むしろ、いろんな場面で感謝をしているくらいだ。

 一方、そうした新しい手法・よりよい手法を学ぼうとしている人はどれだけいるのだろうか。

世の中に不満があるなら自分を変えろ、それが嫌なら耳と目を閉じ口をつぐんで孤独に暮らせ。

(攻殻機動隊 STAND ALONE COMPLEX)

 という言葉があるが、VB.NETを扱う人々は、孤独に暮らす人々が多過ぎるのではないか。

 そうしている間に、心ある人々は自分を変え、言語を変え、この世界から姿を消していってしまっている。そう思えてならない。

Comment(1)

コメント

「以下の記事に関係あるようです」に私がかつて書いた「我が社の社内公用語は?
言語!」という記事が出ていた。なつかしいなあ~。

ほんとに、Visual Basicさんごめんなさい。こんなVB.NETに否定的な記事を書いていたなんて!

コメントを投稿する