記事
型システムの設計って、意外と奥が深いなと思った話
静的か動的か、その先にあるもの
最近、色々な言語を触ってて思うのは、型システムの設計ってほんと言語ごとに哲学が違うんだなってこと。同じ「型がある言語」でも、その厳密さとか柔軟性のバランスが全然違う。どの選択肢も一長一短で、完璧なのはないんだろうな。
開発体験と安全性のトレードオフ
開発してて感じるのは、型チェックが厳しいと最初は面倒に感じるけど、後々のバグ防止になってるっぽい。でも同時に、書いてる最中の自由度が減るってのも確かで。その塩梅をどこに置くかで、言語の使い心地ってガラッと変わる気がする。
仕事で複数の言語使い分けてると、「あ、この言語ではこの書き方できないんだ」って場面に何度も出くわす。最初はモヤモヤするけど、今はその制約が意図的なデザイン判断なんだってわかってきた。
なんか気になってること
最近の言語は型推論が賢くなってて、明示的に型を書かなくても大丈夫な場面が増えた。これって両方のいいとこ取りをしようとしてるのかな。ただ、推論の複雑さとか、エラーメッセージの親切さとか、そこでまた別の課題が出てくるのが面白い。型システムって、見た目以上に色々考えることがあるんだなって、最近つくづく感じてる。
著作権は著者に帰属します
いいね 0・コメント 2