何となく Blog by Jitta
Microsoft .NET 考

目次

Blog 利用状況
  • 投稿数 - 761
  • 記事 - 18
  • コメント - 35961
  • トラックバック - 222
ニュース
  • IE7以前では、表示がおかしい。div の解釈に問題があるようだ。
    IE8の場合は、「互換」表示を OFF にしてください。
  • 検索エンジンで来られた方へ:
    お望みの情報は見つかりましたか? よろしければ、コメント欄にどのような情報を探していたのか、ご記入ください。
It's ME!
  • はなおか じった
  • 世界遺産の近くに住んでます。
  • Microsoft MVP for Visual Developer ASP/ASP.NET 10, 2004 - 9, 2011
広告

記事カテゴリ

書庫

日記カテゴリ

ギャラリ

その他

わんくま同盟

同郷

 

元ネタ:画面Load時のClose処理について。(スレッドの途中に飛びます)

マイクロソフトでは、“プロフェッショナル”という言葉と、“ディベロッパー”という言葉を分けて使います。“ディベロッパー”は、ソフトウェア開発言語を使ってソフトウェアを作ることの専門家。“プロフェッショナル”には、2つの意味があります。“ディベロッパー”と対比して使うときには、ソフトウェア開発者以外の人々。そして、開発者もひっくるめて“専門家”や“達人”を指すときがあります。この後者の例は、Microsoft Most Valuable Professionals です。この“プロフェッショナル”には、ソフトウェア開発者だけでなく、インストラクターやウェブ デザイナーも含まれます。

ソフトウェア開発という作業について要求される理解度、習熟度は、ソフトウェア開発者と、ソフトウェア開発者ではないがソフトウェアを作りたい人々に対してで違ってきます。この具体例を、ソフトウェア開発以外のことで挙げてみましょう。

私は、「応急手当」をするために、血液の濃度がどれくらいだの、白血球の寿命が何時間だの、そういうことを知る必要を感じません。

同じように、日曜大工で「棚を作る」のに、木材の材質による強度の違いや腐食の進行度合い、そういうことを学ぶ必要を感じません

そういうことを知っていなくても、応急手当や日曜大工を行うことが出来ます。また、しかるべき店に行けば、そうすることを助けてくれる道具が売っています。

しかし、医師や建築士が、そのような知識を持っていなければ、どの様に感じるでしょうか?

なぜこのようなことを持ち出すかというと、Visual Basic という言語が開発された目的は、ソフトウェア開発ではないと考えるからです。

VB は元々、医者、建築家、弁護士など、仕事の一部を IT 化することで効率的に仕事が出来るようになる人を販売ターゲットとした言語です(と、聞いている…と、逃げ道を用意しておく)。

このような人たちは、ソフトウェア開発が主な仕事ではありませんから、プログラムの書き方のトレンドを追いかけたり、どういう仕組みでプログラムが動くのか知っていたりする必要はないでしょう。

だからこそ、少ないソフトウェア開発の知識・・・プログラムの書き方ですね。プログラムの書き方さえ知っていれば、ある程度のアプリケーションが作れるようになっています。

この中には、「文字列と数値は違うものだから、単純に比較することは出来ない」とか、「変数はメモリに格納領域が確保された後、初期化されなければならない」とか、「Form に何か書くためには、描くという操作を列挙しなければならない」といったことが含まれます。(最後のは「ダイアログ フォーム」のことね)

ところが。効率主義な世の中。ほとんど専門知識なしにアプリケーションが作れてしまうこの仕様を、本当なら専門知識を持っていなければならない人たちが「効率的だ!」ということで目を付けてしまったんですね。

ということで、ソフトウェア開発者にも、VB ユーザが増えてきます。

ところがですね。子供の夏休みの宿題で工作をするのと、家を建築するのとで、必要な道具、その道具に求められる精度が変わります。家を建てるのに、100 円ショップで買ってきたカナヅチやノコギリを使わないでしょう。

そこで、要望が上がるわけです。「もっと精度を良くしてくれ」

マイクロソフトは、この要望に応えてしまったんですね。でも、それにも限界があります。そこでいいました。「手軽さと精度を両立することは出来ない。精度を上げる代わりに手軽さを犠牲にする」。私は、至極まともな意見だと思うんですけどね。

でも、忘れちゃいけない。使っているのはソフトウェア開発者、精度が必要な人たちだけではないのです。精度は必要なく、手軽であって欲しい人たちも使っています。こういう人たちが、ブーイングを上げるんですね。当然だと思います。

すると、精度が必要な人たちまで、ブーイングを始めました。私は、「そりゃ、違うだろ」と思うんですけどね。

で、マイクロソフトは、「設定」という形で、どちらかに切り替えることができるようにしてしまったんですね。で、デフォルトは、「手軽」に設定されているわけです。

さて、では次に、マイクロソフトはどのように動くべきなのでしょうか?

私は、「今のままでよい」と思うのです。

マイクロソフトは、VB だけを提供しているわけではありません。C# もあれば C++ もある。VB が「精度不足だ」と感じたら、そういった他の言語に移行していけばいい。VB にとどまるも、他の言語に移行するも、選ぶ自由を我々は持っているわけです。

C# では、VB の手軽さを残したまま、オブジェクト指向言語として、より洗練されています。VB 独特の宣言の仕方故、最初はとまどうでしょうが、慣れればどちらでも書けるはずです。現に、私をはじめ、多くの人が両方の言語を使えます。

というより。ソフトウェア開発にとって、言語はツールの一部です。使えるツールがたくさんある方が、いろいろなものを作ることができます。他の言語にも手を出すか、ひとつの言語だけで終わるか。それは、その人に選ぶ権利があります。他の人は提案できても、選ばせることはできません。

おそらく、一致しないのはここらあたりの考え方ではないでしょうか。私は、VB の言語仕様は今のまま、ソフトウェア開発を主たる業務とする人/しない人の両方に対応できるという方向で進むことに、反対はしません。こういう、中途半端な仕様を維持するのは難しいでしょうし、また、中途半端な状態を必要とする人もいるのですから。

そして、VB の言語仕様が、より発展的な考え方への妨げになるとは思いません。それは、その人の意志に依存することです。

「なぜ?」という疑問を持って、それを突き詰めようとし、突き止め、今のままとどまるかどうか。これはたかが一言語仕様が影響するものではありません。その人の考え方に強く依存します。

逆に、VB は、そういう疑問を持つのに好都合だと思います。「だから VB はダメだ」という声が多いですから。

「イヤ、そんなことはない」「そうなのか。じゃぁ、他も見てみよう」「ふ~ん。だから、何?」

どう思うかはわかりませんし、どう思わせるかの責任を、マイクロソフトは持っていません。

ものにはすべて、向き不向き、必要とされる原因があります。「過去のもの」と、切り捨てるものではないと思います。

「COBOLはどうなんだ!?」という声も、お忘れなく。

投稿日時 : 2006年9月21日 23:11
コメント
  • # re: Visual Basic という言語について
    R・田中一郎
    Posted @ 2006/09/22 0:55
    いろいろなレベルのプログラマがいるということですよね。
    それは当然のことですし、皆がレベルが高くなる必要もないと思います。
  • # Jittaさんの記事 :「Visual Basic という言語について」の私見
    AQUA's .NET 奮闘記
    Posted @ 2006/09/22 2:34
    Jittaさんの記事 :「Visual Basic という言語について」の私見
  • # re: Visual Basic という言語について
    ぶぶ
    Posted @ 2006/09/22 8:55
    専門的な知識がそうなくても、つくれるのがVBのいいところでもありますし、悪いところでもありますが、
    使用する人が他の言語を使えるようになれば、VBにこだわる理由はないと私も思います。
  • # re: Visual Basic という言語について
    買太郎
    Posted @ 2006/09/22 13:42
    私は、畑違いの仕事からの開発職にジョブチェンジしたくちです。

    当時、ただ、計測機器に信号を送って、データを取ってくるといったアプリをVBでお手軽に作れたのに感動しました。

    だから、そういうお手軽な言語もありだと思います。

  • # VBという言語に思う
    Ognacの雑感
    Posted @ 2006/09/22 14:20
    VBという言語に思う
  • # Jittaさんの記事 :「Visual Basic という言語について」の私見
    AQUA's .NET 奮闘記
    Posted @ 2006/09/22 21:30
    Jittaさんの記事 :「Visual Basic という言語について」の私見
  • # re: Visual Basic という言語について
    Jitta
    Posted @ 2006/09/22 22:55
    R・田中一郎さん、ぶぶさん、買太郎さん、コメントありがとうございます。

    > いろいろなレベルのプログラマがいるということですよね。
    いえ、いろいろなニーズを持ったプログラマがいる、ということです。
    このことから、“ニーズ”と“レベル”を切り離したいと思います。


    > VBにこだわる理由はない
    「VB の言語仕様が、より専門的な知識を習得することを阻んでいる」というのが、もとの方の意見のように思えるので、「VBにこだわる理由はない」だけでは、反論として弱いと思っています。
    もうちょっと加えたいのですが、良い言葉が思いつかないんですね(^^;
    アクアさんの「ですが今年の6月頃に本屋でC#の書籍を立ち読みした際、「記述は出来ないけど、コードを見てやりたい事が解った。」のです。」あたりかな?


    > そういうお手軽な言語もありだと思います。
    私も、そういう意見に変わりました。それは、VB の販売ターゲットを知ってからです。
    VB が、きちんとその目的を果たしている事例だと思います。
  • # re: Visual Basic という言語について
    masabun
    Posted @ 2006/09/23 13:30
    >VB は元々、医者、建築家、弁護士など、仕事の一部を
    >IT 化することで効率的に仕事が出来るようになる人を
    >販売ターゲットとした言語です

    私の周りでは少し違っていて
    仕事でVBを使っている例は少なく
    ACCESS VBA < VB < C系
    の位置付けだと思っています。

    VBAは1-2-3と同じく、マクロが使える点で
    よりお手軽だからではないでしょうか。
  • # re: Visual Basic という言語について
    はにまる
    Posted @ 2006/09/24 3:10
    勉強になりました。

    言語仕様もいいけど。僕は最近流行りの「見える化」を早々と具現化したVBの貢献も賞賛したいですね。できればメモリを仮想的に表現して、内部挙動が理解出来る教育用のVBがあれば良かったけど。(今でも内部挙動に対する知識が疎いから欲しいなぁ。)

    VBはソフトウェア開発の道具として技術的に正しい方向性を示した1つの例で、他のプログラム言語は開発者の要求だけを汲み取って、その先の市場要求は配慮していないと思うんだよね。

    例えば、現在のソフトウェアに求められる品質要求を考慮すれば、浮動小数は原則利用不可(環境による明示指定)にしたり、起動環境でエラー処理を一括定義し個別プログラムでエラー定義を不要とするプログラム言語が存在しても良いと思う。

    僕がVB思う思想背景は、P.F.ドラッカー著「テクノロジストの条件」の一節が一番よく言い表していると思うので引用

    「また、最も急速に発展しつつある体系、すなわち最も学ぶべきものの多い体系ほど教えることがむずかしくなりつつある。
     この危機は、学者たちがいうような知識の発達にともなう当然の結果ではない。当然の結果とすべきは単純化でなければならない。すなわち、理解と学習と教育の容易さが向上することでなければならない。それこそ知識の発達が目指すものである。われあわれの知識が、一般化するどころか専門家し複雑化しつつあるとういうことは、何かきわめて本質的なもの、すなわちわれわれが生き、見ている世界についての、包括的な哲学体系というべきものが欠けたままである事を意味する。」

    # 技術思考でない無い人間からの意見という事で!
  • # re: Visual Basic という言語について
    Jitta
    Posted @ 2006/09/25 14:15
    masabunさん、はにまるさん、コメントありがとうございます。

    > 私の周りでは...ACCESS VBA < VB < C系
    なるほど。データとセットの場合、フォームも使える ACCESS で組むというのは、多いかも、ですね。
    それをいうと、妻のところでは EXCEL ですね。
    「ディベロッパーだけじゃない」といいながら、「ディベロッパー的な見方」しかしていませんね。ありがとうございます。


    > 「見える化」を早々と具現化した
    ですね。
    UNIX 上でも、もっと以前からあったのですが、「デザイナ」と「コード化」は完全に分かれていて、あとからデザインを手直しするとき、結構苦労しました。
タイトル
名前
Url
コメント