高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

たかみちえのミニ授業?

 今日は自分の校に帰ってからも、隣のクラスの人にVB6を教えていました。自分は帰ってから20分くらい暇をつぶさなければ帰れなかったので、ちょうどいいです。
バグの原因は型変換でした。文字列から整数への型変換。とはいえ、時間もたった20分でしたし、そんなにゆっくり説明できなかったですが。でも、「分かった、助かった」って言ってもらえて、よかったです。
 数日ほど前にも、同クラスの友達のHTMLの質問に答えていたんですが、それも、かなり分かってもらえたようで…。
人に何か教えるのはちょっと久しぶりですが、分かってもらえて、感謝されると、うれしいですね(^_^)
でもやっと、自分のレベルよりかなり下のことは丁寧に教えられるようになったものの、まだまだ自分のレベルと同等となると、適切に説明できるかどうか…。
さきのインターンシップの話し合いでも、先生のおかげでなんとかと言うところがかなりあったし、難しいことの説明能力はまだまだです。もっとがんばらないと。


 しかしまぁ…。VBってのは勝手に型変換しますからねぇ、やっぱり初心者にとってつらいかもです。
文字列から整数も、VBが勝手にがんばるせいで、こっちが何もしなくても、とりあえず実行はできる。しかし、向こうのがんばりでできないことだったら、当然エラー。しかも、ほかの言語と同じく、エラーがでたとたんに(トラップしてなければ)即終了*1
だいたいスクリプト言語を初めてのプログラミング言語に選ぶこと自体間違ってるんでしょうけどね。スクリプト言語としてみたら、型変換が自動なのも、エラーが起こってみるまで分からないのも、納得がいきますが…。初心者には型変換は明示的で、エラーはコンパイル時に的確に発見された方がずっとわかりやすいんだから。まあ、あっちこっちでさんざん論じられてることではあります
 こんなことだったらVBなんかよりDelphiを入門に選んだ方がずっといいんだろうに(あれでDelphi自体がバグ持ちでなければ、きっとDelphiが採用されてたんじゃないかとまで思います)、Microsoftもわかりにくいことをします、RADな完全コンパイル型言語が何もなかったんですからね┐('?`;)┌
まあ、これからはC#VB.NETがRADなコンパイル言語として、入門者用としてもいけるようになると思うので、授業もそれにシフトしていってくれればと思います。
VB6には初心者時代とってもお世話にはなったけど、やっぱりダメです。よい意味でも悪い意味でも入門者向け言語…とも、いえないや、やっぱり(^_^;)

*1:そういえば、デフォルトでトラップしてない例外でも、何とか持ち直せるのは、Delphiだけでしたっけ。まあ、後々に響く可能性は大ですが、できれば例外一つでセーブもできず即終了というのは勘弁してほしいですね