東方算程譚:すごーく気になる
私は、Visual Basic の罠に対してそれほど否定的に見ないようになりました。
私がVisual Basic(.NET 2003)を触り始めたころ(もちろんOption Strict は Off)、文字列と文字列の足し算ができることがとてもとても疑問でした。
でも、エラーはでない。
私はこれがきっかけで、言語仕様を理解することに興味をもったわけですが、(ブログで書いていることもこの疑問がきっかけです。)今さらながら言語仕様としてとてもすごいってことなんじゃないかと思っています。
だって、文字列と文字列を足し算できるんですよ?
コンパイラ:「文字だけど足し算して数値型に代入しようとしてるね・・・じゃ、数値として足し算したらいいんぢゃね?」
うん、ステキ♪(でも、やりませんけどw)
私はこれを「ステキ♪」と思うためにはその言語仕様を知っておく必要があると思っています。
「知っておく必要がある」・・・これってVisual Basicに限ったお話ではないですよね。何をやるにしても必要な道具を本格的に使うなら使用方法を理解し、メンテでき、カスタマイズできたほうがいいはずですから。
とはいうものの、これ以外にも多くの部分で、IDEやコンパイラ経由で言語の設計者が使い手に意識させないようにしている部分が、はたして本当に意識しないでいい部分なのかは、まだまだ突き詰めていかなくてはいけない気がします。
そういった部分がおそらくぽぴ王子さんの書かれていることなんだと思いました。明らかに言語に対する理解への障害となっているものもあると思います。ただ、言語に対する理解度が低くても構わないユーザもいます。言語は職業を意識しませんしね。
Visual Basic のユーザはそのスキルレベルにおいてとても幅が広く、それにマッチした言語を作ることってとても難しいんでしょうね。開発者としてのVisual Basic ユーザにはそのユーザの開発者としての誇りを信じ、各々に言語仕様の使い方を委ねているのではないでしょうか。そういった意味で、Visual Basic はとても柔軟な言語であると思います。
Visual Basicも他の言語と同様に、Visual Basicのあり方に対して思想をもって使いやすい言語へと進化の方向を向けています。次期バージョンもそうですが、Visual Basicらしい言語仕様の持つ可能性は十分に魅力あるものだと思います。
なんかまとまりきってない・・・。orz