安全でないコード¶
言語のこれらの部分は安全ではないとみなされます。
「安全でない」とは、メモリの破損、セグメンテーションフォールト、クラッシュが発生する可能性があることを意味します。例えば
a = 1
ptr = pointerof(a)
ptr[100_000] = 2 # undefined behaviour, probably a segmentation fault
しかし、通常のコードは通常、ポインタの操作や未初期化変数を含みません。また、Cバインディングは通常、ヌルポインタと境界チェックを含む安全なラッパーでラップされています。
100%安全な言語はありません。一部は必然的に低レベルになり、オペレーティングシステムとインターフェースし、ポインタ操作を含みます。しかし、それを抽象化してより高いレベルで操作し、(数学的な証明または徹底的なテストの後)下位層が安全であると仮定すれば、コードベース全体が安全であると確信できます。