What exactly is a computer program? How can it be used for anything?
Every computer program consists of one or more lines of computer code, written in a computer programming language.
This is essentially a list of commandos which tell the computer what to do (usually on a relatively low level).
So on the most basic level, a computer program is a text written in a computer language. When programs get bigger and more complicated, the commando text will be split up into different files in order to get a structure that is more easy to maintain.
The lines of commandos written in a programming language are also called "source code" because they form the source from which the final, executable program is made.
This is what programmers usually mean when they are talking about a program - files of source code texts which in combination make up the program with all its functionality.
For most programming languages, the commandos in the source code texts first have to be translated into low-level computer code - called machinecode - before the computer can actually execute them.
This translation is performed by a compiler or an interpreter program. Both are designed for specific programming languages and target platforms (operating systems and hardware platforms).
The final machinecode created by compiler or interpreter is the actual executable program which you can use.
Often the final executable program is only referred to as "program", which sometimes makes communication about programs difficult between programmers and non-programmers. Therefore the final, compiled code is usually referred to by programmers as the executable.