MISRA C
Pascalなどの同時代あるいはそれ以前に登場した他言語と比べても、文字列の扱いなどで安全性に劣る部分がある。特にバッファオーバーランやスタックオーバーフローによるメモリアクセス違反や、メモリの解放忘れによるメモリリークなど、C言語ではシステムの停止や未定義動作を引き起こす元凶となる致命的なソフトウェアの不具合に対する最終防壁はなく、これらはプログラマー側の負担や責任となってしまう。Cから直接発展したC++についても、ある程度改善・改良されている部分はあるものの、依然としてCと同様の問題点を抱えている部分がある。
モダンな後発言語は移植性のないプログラムや危険なプログラムを記述しにくい(あるいは記述できない)仕様になっているのに対し、C/C++はもともとプログラマーを信頼し、プログラマーにできることを制限しない設計思想である。したがって、C/C++で移植性や安全性を確保しつつプログラムを記述するためには、何らかのコーディング規約を整備・標準化して、運用時に制限をかける必要がある。