y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

おさーんのチャレンジ状況

とあるプロジェクトでVB.NETを初経験した。2ヶ月間毎日向き合ったら、そこそこ組めるようになった。COMオブジェクトの開放でちょっと無知をさらけ出したりしたが、
「なんだ、VB6とあんまり変わらないんじゃないの?」と感じた
VB6だって半年前くらいに初経験し、最近別のプロジェクトでマスターしたばかりだと言うのに、偉そうに。この夏は、スクリプタープログラマっぽくなった時期であった。
その後、11月に入ってからC#GISシステムのプロジェクト。
新たに学ぶこともたくさん。デリゲートだのディスポーズだの。型だって暗黙に変換なんてされないし、VBみたいな”なんでもグローバル”みたいなあいまいな使い方をしていると、全く動いてくれない。スクリプト頭では完全にはまる。いや、はまった。
Covert.ToInt32やらToStringやら、型を変えるってのは気を遣うんだな。知らなかったよ。
Set オブジェクト=Nothingなんていうのは、効かないんだ。オブジェクト=null。
IIFじゃなくて?:。string うんたら ="";って定義と同時に初期化する癖もついたし、オブジェクトはすべてインスタンスとして生成することも知ったよ。
C#もそこそこ慣れてきたら、今度はVBASPの文法を間違える。
C#は面白い。データアダプタやらデータリーダなんていう新しい技術も、ちょっと分かってきた。「こりゃ、以前の開発環境には戻れんわ」っていう気もする。
(大して大きなものを作ってもいないくせに。)
コンソールアプリ、Windowsアプリ、Webアプリ、ポータブルデバイス向けアプリなんていうのが全部C#(に限らず、VB.NETでも好きな方を選択可能)で開発出来ちゃうってのは、凄いことだと思う。以前は、COMを使うようなプログラムはVBやVBS、サーバサイドはASP、クライアントサーバならVBやVCなんていう具合に分かれていたんだから。

データバインドの技術って、構造体を不要にしちゃうくらいに強力だし、try-chache-finallyなんていう構造化されたエラー処理も強力だ。
ASPみたいにやたらResponse.Writeでデバッグするでなし、VBみたいにOnErrorうんたらかんたらで、流れを制御しなくても良い。危ないところにtry{}ってしておくだけで、なんだか原因が分からんエラーを捕獲してくれるのは助かる。
.NETフレームワークで何が出来るのかをあらかじめ見ておかないと、何も組めないのは、ライブラリを使ったプログラミングと変わらないか。フレームワークだけじゃない。
サードパーティコンポーネント(エルタブラだのインプットマンだの)を使えないと、効率的な開発が出来ないことも知った。確かに標準のグリッドコンポーネントなんか使っているよりも、エルタブラなんかの使い方を覚えた方が遥かに良いものが出来る。
いやぁ、ASPでサーバ処理、JavascriptGUIの処理を書いていたのとは違うね。デバッグも楽だし、一貫性がある。
そろそろWebサービスASP.NETに本腰を入れたいな。