今年の4月に最新版がリリースされたVisualBasic
.NET Frameworkを利用したアプリケーションを今回は紹介したいと思います。
.NET になる前までのVBのバージョンは6まで。そのバージョン6.0がリリースされたのが1998年。このバージョンからVBはVBアプリだけでは無くASPアプリケーションを作成する事が可能になりました。
その後、.NETFramework を利用したオブジェクト指向型言語として装いを新たに VB.NET2002(VB7.0)がリリースされたのが2002年、その後2003年、2005年、2008年とバージョンを上げていき、今年の春に2010がリリースされました。これにより、.NET Frameworkも3.5から4.0へとアップグレードが行われます。
ちなみに、WindowsVistaには標準で.NET Framework3.5が導入されていますが他のOSは任意でインストールを行わねばなりません。
VB.NET以前でアプリケーションを利用する為には、「アプリケーションを利用する為」の環境が必要となりました。言い換えてみれば、使いたいアプリケーションに必須なアプリケーションはファイル等を別途用意しないといけない事が有りました。またPCのスペックやOSがまだ大きくまちまちだった時代ですので、必須条件を満たしているか否かと言う事も大きな問題になっていました。
(例:OSで言えばWindow98,98SE,ME,NT4,2000など)
.NET Framework には以前のバージョンでは自らインストールしなければいけないコンポーネントや特殊なランタイム等を一括で保持している為にある程度の整合性を保つことが出来ます。要は.NET Framework はソフトウェアを運用するにあたり必要なパーツ群だと考えて貰えればと思います。
PHPを利用していると、何の意識もせずに$hogeと言う形で変数を作成し、その中に数値やオブジェクトを入れる事が多々有りますが、VBの大きな考え方の違いと言えばここになります。変数を利用する際には、その変数に合致した変数を用意してあげなければならない。言葉で書くと少し小難しくなりますが、実際に変数として見てみると簡単だと思います。
Dim hoge as integer
これで整数数値型のhogeと言う器を利用する事が可能になりました。ですから
hoge = “文字列ですよ”
と言う書き方はエラーになる。
訳では無いのです。ここは開発環境の設定にもよりけりなのですが、デフォルトの設定である場合はVB.NET側が暗示的な理解を示しhogeを整数数値型から文字列型に変換してくれるのです。また、変数宣言を省く事も可能です。
Dim Ocha
一見シンプルで見やすい。と感じてしまうのですが、これはVB側が何を入れる器か判らない為にObject型と言う何でも入る便利な型の中にデータを格納する準備を行います。ただし、何でも入る便利な物だからこそリスクはついてくる物で、それだけメモリ消費が高くなり実行速度に問題が発生してしまいます。
また問題点として、暗示的な変数を多様すると偶然動作していた。と言う問題が発生した際に何がどうエラーであるかの追跡が難しくなってきます。上記の宣言の省略や暗示的な変数の変換等、一見便利ではありますが、これを利用する事無くプログラム作成の運用を行う事こそがVBとPHPの大きな違いとなってくる部分です。
もともとC#やJavaでは標準であった例外処理が.NETFrameworkを通して利用出来る事になりました。
Try
Catch Exception
Finally
End Try
元々VB6まではon error goto~~と言う物は有ったが開発者が”意図的”に理解したエラーが発生した時のみの使い方が主流であった。その過去の遺物なのか、ラベルの概念が残っている。

例外処理:例外は基本的に“エラー”として利用する事が多いが事によっては、わざと例外を起こさせる事も多々見かけられる。
共通最終処理:データベースの切断や、他に影響を及ぼすアプリケーションクラスの開放等を意識的にコーディングする事が出来る。
(代表的な処理としては、不意のエラー等でSQLサーバとのトランザクションセッションが開いたままアプリケーションが終了してしまう事を防ぐ)
今回紹介しましたVBは、Webアプリケーションと違って明示的にデータを示す。と言う事が重要になってきます。これは、プロジェクトの規模が大きければ大きいほど他人に自分の意図が伝わる一つの手立てとして利用出来る物です。たかが変数名。されど変数名。そこからどういう意図を汲み取れるのか。と言う意識をするだけでも、変数一つに考える事は変ってくるのではないでしょうか。