All computers need a set of instructions to follow in order to run or even boot up.
These instructions are called "software code" or just "software" for short.
A group of instructions that together perform a specific task is called a "software program".
Software programs are stored either as files on devices such as hard disks or as permanent instructions burned into non-volatile memory such as ROM chips.
Software is initially written in a person-friendly computer language such as C, Java, FORTRAN and so on. A compiler and linker converts those lines of instructions into machine code the computer can understand.
There are different classes or types of software depending on what it does. For example,
"Driver Software" controls hardware devices such as hard disks and printers.
"Application Software" examples include word processors and spreadsheets.
"Utility Software" examples includes file compression and disk defragmentation programs.