writing a program requires knowledge