2005年10月14日
川俣晶の縁側IT都市伝説total 6500 count

Visual Basicは本来動的プログラム言語であって、Option Strict Onが良いわけではない

Written By: 川俣 晶連絡先

 誰が言い出したのか、まことしやかに流布される謎の解釈。

 今回のIT都市伝説はこれだ!

Visual Basicは本来動的プログラム言語だ! §

 Visual Basicは本来動的プログラム言語です。

 しかし、Visual Basic .NETで導入されたOption Strict Onは静的な型付けを強制するオプションであり、あたかも動的にコンパイル時に型付けされないプログラミングが悪いかのような風潮が起きています。

 これは全くの誤りであり、動的なプログラミングには多くの長所があり、Option Strict Onの強制は本来の伝統的なVisual Basic文化を破壊する行為です。

 さあ、みんなも叫びましょう。

 下らない手間ばかり増えて面倒なだけのOption Strict Onなんかいらねぇ~!

 本来のVisual Basicに戻ろう!

というのは実は正しいわけではなく…… §

 上記のような主張は、以下のような記事から何となく匂ってくるムードを私なりに言語化してみたものですが、おそらくはこの記事だけのムードではないでしょう。かなり広範囲に、このようなムードはあるのではないかと感じます。

 実は、Visual Basicの原点となり大ブームを引き起こしたVisual Basic 1.0は静的に型付けされたプログラム言語なのです。それだけでなく、それ以前にBASICの歴史を逆に辿ると、実はほとんど静的な型付けが原点であり基本であったことが分かります。

 (ちなみに、動的プログラミングの方が優れているという主張も一種の都市伝説に過ぎませんが、それについてはここでは触れません)

Visual Basic 1.0は静的な型付けが必須 §

 Visual Basicが型指定を要しないプログラム言語になったのは、おそらくVisual Basic 2.0でVariant型が導入されてからでしょう。

 つまり、Visual Basic 1.0は何でも入る魔法の箱となるVariant型を持たず、変数の型はいちいち指定する必要があったのです。(例外的に型指定を省略するとInteger型になったと記憶しますが、それは型のデフォルトであって、静的に決まるもの)

 逆に言えば、Visual Basic 2.0以降でも、Variant型はトラブルが多いので使わないと決め、静的な型の明示を心がけて使っていたプログラマもいたはずです。(私がその一人)。そのようなプログラマの存在を排斥してこなかった、つまり静的な型付けを行う気になればそれを許容し続けたのがVisual Basicであるとも言えます。

もっと遡れば §

 それ以前のBASICに遡ると、それらも多くの場合型指定が必須であることが分かります。

 たとえば私が愛用したNEC PC-8001のN-BASICの場合、型指定はDEFステートメントと型指定文字によって行われます。

 たとえば、"A!"という変数名を使用すると、整数型の変数Aを使うことを意味します。"!"記号が整数を示します。数値にも記号を付けて区別できます。たとえば"123!"は整数の定数値です。一方、"&"記号が単精度実数を示すので、"123&"は実数の定数値を示します。(ただし、ソースをリスト表示する場合、曖昧さ無く判断できる場合は記号が表示されないケースもある)。ちなみに、文字列型は"$"記号を使います。

 DEFステートメントは型指定文字省略時の型を指定します。たとえば、"DEFINT I-L"と記述すると、変数の先頭1文字がIからLまでの変数は、型指定文字省略時には整数型として扱われることを意味します。

どちらが期間として長いか? §

 そのような古い時代からの流れとして捉えれば、BASICを動的な(厳密な型指定を行わない)プログラム言語として使う用法は、比較的新しい流れでしかなく、本来のあり方ではないと見ることができます。

 ちなみに、BASICの誕生は1964年とされます。

 Visual Basic 2.0のリリースは、正しい日付を調べ切れませんでしたが、おそらく1990年代前半で間違いありません。

 この日付から見れば、静的に型付けされる言語として使われていた期間の方が明らかに長いと言えます。

 また、Visual Basic 1.0が静的に型付けされる言語であったこと、2.0で拡張されたVariant型の導入こそが致命的なVisual Basicの改悪とする意見があることを考えれば、動的なプログラム言語として使うことがVisual Basicの本来のあり方と断言することは、はばかられます。

どこで足を踏み外したのだろう? §

 それにも関わらず、このような断言が可能であり、しかもそれが多くの読者によって受け入れられてしまう理由は何でしょうか?

 あくまで個人的な推理でしかありませんが。

 諸悪の根源は、おそらく日本でVisual Basic 1.0が発売されたかったことではないでしょうか? Visual Basic 1.0には日本語版が存在せず、ほとんどの日本人は2.0になってから、つまり何でも入る魔法の箱であるVariant型が導入された後のVisual Basicしか知りません。

 私のように、英語版のVisual Basic 1.0を使って、実用アプリケーションを既に書いていたような立場の者はかなり少数派だと思います。

 もう1つ、BASICあるいはVisual Basicに対する差別的な蔑視の思想は根深く、きちんとそれらが論じられることが少ないことも、理由の1つと言えるかもしれません。

余談・Visual Basic 3.0の重要性 §

 ちなみに、もう1つエポックメーキングなVisual Basicは、初めてデータベースエンジンを内蔵した3.0だと思うのですが、実はこれも日本語版が存在しません。3.0はコンパクトで軽快かつパワフルで非常に良くできたソフトだと思いますが、すぐに4.0が発売されるということで、日本ではスキップされています。しかし、もっさりと重苦しい4.0と比較して、やはり3.0には大きな魅力があったと思います。

 このように、重要なバージョンがスキップされることで、ややいびつなイメージを作り出されてしまったことが、日本におけるVisual Basicの不幸ということができるかもしれません。

Facebook

キーワード【 川俣晶の縁側IT都市伝説
【IT都市伝説】の次のコンテンツ
2006年
05月
02日
マイクロソフトは非公開APIを用意することでWordやExcelの性能を上げて、ライバルをけ落とした
3days 0 count
total 9696 count
【IT都市伝説】の前のコンテンツ
2005年
05月
13日
1bit CPU? そんなものは無い! 酒の席での馬鹿話のネタだよ!!
3days 0 count
total 15544 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20051014112728
サイトの表紙【IT都市伝説】の表紙【IT都市伝説】のコンテンツ全リスト 【IT都市伝説】の入手全リスト 【IT都市伝説】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.