Kernighan probably disliked PL/I as well, but it had better memory safety than C; Multics was never plagued with buffer overflows.
Pascal implementations typically support index and range checking, while Ada provides even more extensive memory and concurrency safety.
Fortunately for C, clang's -fbounds-safety seems to be making progress. It's implemented in Apple's LLVM fork, so this now works on macOS:
clang -Xclang -fbounds-safety program.c
https://clang.llvm.org/docs/BoundsSafety.html