The software is something that a machine can execute. It's something with instructions that an operating system can understand. A programming language is a language in the "middle" of a user and a machine that can easily be converted (by a machine) to a code that the machine can directly understand (software).