見出し画像

1月19日「VBいつのまにか戻ってた」

VB.NETでなんか作るお仕事をしていて気づいたのですが、

むかしはこういう書き方をしていたんですね。

For i = 0 To 9
    Console.WriteLine(i)
Next

VBというのはVisual Basicの略で、「BASIC」という言語の一種なんですがマイクロソフトが独自に色々変化させたような言語です。

このプログラムの意味はまあ「画面に0から9まで表示する」みたいな簡単な命令なのですが、

ある時から「だめだめ! ちゃんと宣言をつけようね!」って、おこられちゃうようになったんですね。

「この『i』って変数、ちゃんと定義してないよ? こうすると動作が遅くなるし、定義してない変数ばっかり使ってると打ち間違えたりした時にわからないから、ちゃんと定義してから使おうね!」みたいに言われるようになりました。

Dim i As Integer
For i = 0 To 9
    Console.WriteLine(i)
Next

こういう感じで、「i は整数が入る変数ですよ」という定義文を付け加えるのがよいです! と言われるようになりました。

いまでも、「こうしましょうね!」って書いてあるページは多いと思います。

その次にはこういう風に書けるようになりました。

For i As Integer = 0 To 9
    Console.WriteLine(i)
Next

さっきよりはちょっと省略できるだけ、という感じですが、こちらの方が「スコープが限定されている」のでよい書き方だとされているようです。

そして、「ジェネリック」というやつが導入された時に、「Integer」くらいならいいんですがちょっと長い書き方の型がいっぱい出てきてしまったんですね。その影響だと思うのですが「型推論」というのが新しい機能として出てきちゃいました。

なので、いまはこういう書き方をするようになりました。

For i = 0 To 9
    Console.WriteLine(i)
Next

えええ……前と同じに戻っちゃいました。

JavaやC#だと「型推論」してるのがわかる書き方になっているのですが、VB.NETにはそういう書き方が導入されなかったので戻っちゃったみたいです。

いまでも「これはダメな書き方ですよ!」という人が残ってる状態で戻すのは、混乱するのであんまりよくない気もするんですよねえ。

以上です! ここまで読んでいただいてありがとうございました!

この記事が気に入ったらサポートをしてみませんか?