writing a program is for making software