
Software: According to Cambridge Advance Lerner’s Dictionary, “Software if the instruction which controls what a computer does”. Software is a generic term for organized collections of computer data and instructions which control the entire activities of a computer.
It is often broke into two major categories:
1. System software
System software is responsible controlling, integrating and managing the individual hardware component of a computer so that other software and the users of the system see it as functional unit without having to be concerned with the low-level details such as transferring data from memory on disk, or rendering text onto a display. Generally, system software consists of an operating system and some fundamental utilities such as disk formatters, file managers, display managers, text editors, user authentication (login) and management tools, and networking and device control software.
2. Application software
Application software, on the other hand, is used to accomplish specific tasks other than just running the computer system. Application software may consist of a single program, such as image viewer, a small collection of programs (often called a software package) that work closely together to accomplish a task, such as a spreadsheet or text processing system, a larger collection (often called a software suite) of related but dependant programs and packages that have a common user interface or shared data format, such as Microsoft Office, which consist of closely integrated word processor, spreadsheet, database, etc.; or a software system, such as a database management system, which is collection of fundamental programs that may provide some service to a variety of other independent applications. Software is created with programming languages and related utilities, which may come in several of the above forms: single program like script interpreters, package containing a complier, linker, and other tools; and large suits (often called Integrated Development Environments) that include editors, debuggers, and other tools for multiple languages.