型有りと型無し
何かを理解した。
昨日も書いたとおり、型無し言語の気持ち悪い点は、「変更必要な箇所が全部修正されたかどうだがわかんない」っていう点だった。
だけど、この点は、「経験を積むことによって克服できんじゃないのか?」っていうのはどうだろうか。
それは、つまり、「単体テストの書き方」だとか、「単体テストを作るタイミングと量」だとか、「将来の変更にもぐにょぐにょできる柔軟性の高いコードの書き方」とか。だ。
こういう部分は、多分、経験によって、鍛えることができる。
で、だ。型有り言語、型無し言語の長所短所を大雑把に並べたら、
有り
- エラーの多くがコンパイルエラーではじける
- タイプ量が多い
無し
- 柔軟性が高い
- タイプ量が少ない
- エラーがわかんない
と、いった感じだろう。ここで、上の考察が正しかったとしたら、型無し言語の「エラーがわかんない」っていう部分は、経験によって、克服できるっていうことじゃないか?
あー、いや、よくわからんけど、つまり
型有り言語のメリットデメリットは、経験にはあまり左右されないけど、型無し言語のデメリットは経験によってある程度克服できる。
と、いうような考えかたはどうなんだろうか。っていう話だ。もし、そうならば、「型無し言語はなんかうまく説明できないけど良いんだよ」と、言ってるような人達のことが理解できるような気がしてくる。よーするに、そういう人達は、デメリットを克服できるくらいにまで経験を積んだので、メリットだけを享受できてウッハウッハなわけなんだ。多分。
僕は、まだその境地には至ってないし、今後も至る予定はないので、結論は出せないけど、「型無し言語は経験によって成長できる部分が多い」っていう考え方は悪くないような気がする。