ゆるふわで雑な日記

Microsoft系の技術情報を中心にゆるふわに綴っていく予定です

VisualBasicでコードを書いていて思うこと

つらい…
だけだと話しが終わってしまうので、少し語ってみます。
※文化が~とかそんな話はしません。

前提として、今の「C#」と「VB」が生成できるILに大きな違いはありません。
使える機能もそんなに変わらないですし、
書くコードも(同じ人が書けば)標準語と沖縄弁程の差はないでしょう。

いや、やっぱり少しします。 まず始めに、今は2015年です。(いつ読まれるかわからないので念のため)
決して1998年ではありません。
VBと名付けられた言語は当時から業務運用されていました(よく知らない)
その当時末端のプログラマだった人はそこそこの地位になったでしょうか?
それはそれとして、
『当時のVB』で、極々当たり前に行われていたことに、
『「Option Strict on」の設定をする』
ってのがありました。(多数派であったかはわかりません)
その頃コードを書いていた人たちが、コードの品質を管理する立場になってたりします。 その人たちが、今の「VB」について学んでいるのかは定かではないのですが、

規約
-------省略-------
「Option Strict on」に設定する。
-------省略-------

みたいに書いてあることが多いように思います。

これ、効果の程はどうなんですか?
参考までに説明をしますと、上の設定をすると、
変数の宣言時に「型が確定する」事が強制され、
変数の利用について「静的型付け」に基づいて評価されるようになります。 何か良い結果がもたらされる設定なんですか?
「Option Infer on」であればそんなに必要なくないですか?
C#』でいうところの「dynamic」相当のコードが書けなくなって、
ASP.Net MVC」とか無慈悲に殺していくだけでは?
そりゃ、ViewDataに置き換えていけば使えなくはないけど…
SignalRは死にます。
「新しく生まれた技術」を古い慣習が殺すという典型的な例です。
新しい == 良い が100%成立するとは思ってませんが、今までより楽ができる可能性はあります。
少し楽ができる == 時間が増える は成り立ちます。 増えた時間を「学習」に使って更に楽を追及するもよし
「大好き(だと思われる)な仕事」に費やすもよし。
とにかく世界が広がる可能性を秘めています。
初めの1歩は確かに勇気が要るし、何より面倒なものです。
だけど、効果は期待できることではあるので、皆さま少し「今」に触れてみませんか?