WHAT IS A SOFTWARE
A set of instructions that cause a computer to perform one or more tasks. The set of instructions is often called a program or, if the set is particularly large and complex, a system. Computers cannot do any useful work without instructions from software; thus a combination of software and hardware (the computer) is necessary to do any computerized work. A program must tell the computer each of a set of minuscule tasks to perform, in a framework of logic, such that the computer knows exactly what to do and when to do it. See also Computer programming. Programs are written in programming languages, especially designed to facilitate the creation of software. In the 1950s, programming languages were numerical languages easily understood by computer hardware; often, programmers said they were writing such programs in machine language. Machine language was cumbersome, error-prone, and hard to change. In the latter 1950s, assembler (or assembly) language was invented. Assembler language was nearly the same as machine language, except that symbolic (instead of numerical) operations and symbolic addresses were used, making the code considerably easier to change. The programmable aspects of computer hardware have not changed much since the 1950s. Computers still have numerical operations, and numerical addresses by which data may be accessed. However, programmers now use high-level languages, which look much more like English than a string of numbers or operation codes. Well-known programming languages include Basic, Java, and C. Basic has been modified into Visual Basic, a language useful for writing the portion of a program that the user “talks to” (i.e., the user interface or graphical user interface or GUI). Java is especially useful for creating software that runs on a network of computers. C and C++ are powerful but complex languages for writing such software as systems software and games. Packaged software such as word processors, spreadsheets, graphics and drawing tools, email systems, and games are widely available and used. Some software packages are enormous; for example, enterprise resource planning (ERP) software can be used by companies to perform almost all of their so-called backoffice software work. Systems software is necessary to support the running of an application program. Operating systems are needed to link the machine-dependent needs of a program with the capabilities of the machine on which it runs. Compilers translate programs from high-level languages into machine languages. Database programs keep track of where and how data are stored on the various storage facilities of a typical computer, and simplify the task of entering data into those facilities or retrieving the data. Networking software provides the support necessary for computers to interact with each other, and with data storage facilities, in a situation where multiple computers are necessary to perform a task, or when software is running on a network of computers (such as the Internet or the World Wide Web). Business applications software processes transactions, produces paychecks, and does the myriad of other tasks that are essential to running any business. Roughly two-thirds of software applications are in the business area. Scientific and engineering software satisfies the needs of a scientific or engineering user to perform enterprise-specific tasks. Because scientific and engineering tasks tend to be very enterprise-specific, there has been no generalization of this application area analogous to the that of the ERP for backoffice business systems. The scientific-engineering application usually is considered to be in second place only to business software in terms of software products built. Edutainment software instructs (educates) or plays games with (entertains) the user. Such software often employs elaborate graphics and complex logic. This is one of the most rapidly growing software application areas, and...
Please join StudyMode to read the full document