
- Image via Wikipedia
Software, also referred to as computer software, is the compilation of computer programs and similar data that supply the instructions for what a computer should do. Software also refers to greater computer programs and information that are held in the storage area of a computer for a particular purpose. Software programs carry out the operation of the program they implement by either serving as input for additional software or by directly supplying the computer hardware with instructions.
Software is a term that was created in contrast to the term hardware, which means a physical device. Unlike hardware, software cannot be touched which means it is intangible. There are times that software refers to items not typically connected with computers such as records, tapes, and film. There are even great, open source software applications like Freemind and GNU Cash that allow users and developers to see and change the code that runs the programs. Some examples of software for a computer include:
§ Application software: This includes applications such as ERP software for groups, video games or suites like Open Office.
§ Middleware: This coordinates and controls what is known as distributed systems.
§ Programming languages: These describe the semantics and syntax part of computer programs.
§ System software: This includes the OS which oversees computing resources. Currently, large applications that run on machines such as websites are referred to as system software since the user interface typically is through a graphical user interface, like a web browser.
§ Testware: This is a type of software that is used for testing software packages or hardware.
§ Firmware: This is small-level software that is typically stored on programmable memory devices that are electrical. This software gets its name because it is regarded like hardware and is operated by further software programs.
§ Device drivers: These control the sections of computers that include computer monitors, CD drives, printers or disk drives.
§ Programming tools: These achieve tasks on computers. With programmers, these tools can be used for reverse engineering or debugging legacy systems that are older in order to verify source code compatibility.