Что значит выражение «выстрелить себе в ногу?» (в виде кода)?
Это означает, что на языке можно написать команду или конструкцию, которая сломает нормальное поведение программы или системы (или будет выполняться совершенно не так, как можно было бы логически предположить), и при этом компилятор/интерпретатор это скомпилирует и не ругнется.
Почитайте тут:
lurkmore.to/%D0%92%D1%8B%D1%81%D1%82%D1%80%D0%B5%D...
*((int *) 0) = 1;
Ни в одном другом языке это не осуществляется так просто.