The bigger the program, the harder that program is to read, fix, and modify. Just as it’s easier to spot a spelling mistake in a recipe printed on a single page compared to trying to find that same spelling mistake buried inside a 350-page cookbook, so is it easier to fix problems in a small program than a big one. Because small programs can perform only simple tasks, the idea behind programming is to write a lot of little programs and paste them together, like building blocks, creating one massive program.
Because each little program is part of a much bigger program, those little programs are subprograms. The second command tells the PrintMyName subprogram to use the number 16 and the string Mary Jones as its parameters, which prints Mary Jones 16 times. When you call a subprogram, you must give it the exact number and type of parameters it expects to receive.
So the subprogram accepts two parameters whereas the first parameter must be an integer and the second parameter must be a string. If you don’t give a subprogram the right number of parameters, your program doesn’t work. So if a subprogram is expecting two parameters, the following doesn’t work because they don’t give the subprogram exactly two parameters.