Simply put, you can consider software as a set of instructions for a computer. Computer programmers write instructions denoting how the software will operate, using a programming language such as Java. The types of software can be divided into application software, system software and malicious software.
Application software is designed to benefit the user, perhaps by providing entertainment, whereas the system software deals with hardware behaviour and basic functionality. The system software provides the platform on which the application software can operate. Malicious software is designed to harm computers.