言語間比較:同じ間違いが言語によってどう現れるか
同じ種類の勘違いが、言語によって「例外で止まる」「静かに壊れる」「そもそもコンパイルが通らない」のどれになるかを並べて比較します。1つの言語だけを学んでいても気づきにくい、言語設計の違いそのものを扱います。
- == はなぜ言語によって「参照」と「値」のどちらを比較するのかJava・Python・C#・JavaScript・Cで、"同じ内容のはずなのに == がfalseになる"という同じ間違いがどう現れるかを並べて比較します。
- null・undefined・None:「ない」を表す値の扱いは言語ごとに何が違うのかJava・Python・C・C#・JavaScript・PHP・TypeScriptで、「値が無い」ことを表す値にアクセスしたときのエラーメッセージと発生条件を比較します。
- 配列の範囲外アクセス:例外になる言語・ならない言語・何が起こるか分からない言語Java・Python・C・C#・JavaScript・TypeScriptで、配列の範囲外アクセスがどう扱われるかを比較します。同じミスでも例外が飛ぶ言語と、静かに壊れる言語に分かれます。