2024-09-01

型が無い言語バグが多いとか言ってる人がいる

型があったところで型が一致するか、変数存在するかくらいしかチェックはされないぞ

間違った変数を渡して、それが同じ型だったらコンパイルは通る

結果、実行したら予期しない値が帰ってきたり実行時にエラーが起きたりする

型があるからコンパイル通れば大丈夫なんてことはない

 

コンパイル通ってればだいたいは動くし、作ったとき動作確認もしてるから大丈夫、というなら動的型付けの言語でも動作確認はしてるから大丈夫だろ

動的型付け言語の方が得意だと言ってるくらいに使い慣れてる人なら実行時エラーもそんな多くない

その程度のゆるさでエラーが起きたら対応すればいいやくらいのところなら別に静的型付け言語である必要もない

 

ちゃんテストコードを書く環境で、テスト通してるからという場合でも、それも動的言語だってテストして通ってるわけで同じこと

結局型の有無はプロダクション環境バグの多さに関係ないし、どっちが好きかって話でしか無い

 

システムが優秀で実行時エラーがほぼ発生しないのを売りにしてるくらいの言語なら多少利点はあるけど、TypeScriptみたいな無理やり型をつけた中途半端で実行時エラー簡単に起こせるような言語ではメリットもほぼない

  • 安全な言語使いたいなら、Rustとか使うのがいいんやろな今は。

    • 低レイヤーならそうなんやろなぁ ただGC無いせいで所有権とかライフタイムみたいな特殊で難しい概念が出てくる Web系企業じゃほぼ使われずGoが多いぽいな

      • Goってオワコン化してるイメージだったが全然使われてるんやな。

        • 自分もオワコン化してると思ってたが、転職活動中に話を聞いてたら使ってるところやこれからGoにリプレースとか言ってるところがけっこうあった

  • 型は安全性のためだけではなく、書きやすさ・把握しやすさのためでもあると思う。わかりやすい変数名をつけるとかそういうのと同根の

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん