Brian W. Kernighan Dennis M. Ritchie