Software
Computer software , or just software , is any set of machine-readable instructions (most often in the form of a computer program ) that directs a computer's processor to perform specific operations.The term is used to contrast with computer hardware , the physical objects ( processor and related devices) that carry out the instructions.Hardware and software require each other and neither has any value without the other.
Software is a general term.It can refer to all computer instructions in general, or to any specific set of computer instructions.It is inclusive of both machine instructions (the binary code that the processor understands) and source code (more human-understandable instructions that must be rendered into machine code by compilers or interpreters before being executed).
On most computer platforms, software can be grouped into a few broad categories:
- System software is the basic software needed for a computer to operate
- Application software is all the software that uses the computer system to perform useful work beyond the operation of the computer itself
- Embedded software resides as firmware within embedded systems , devices dedicated to a single use.In that context there is no clear distinction between the system and the application software.
Software refers to one or more computer programs and data held in the storage of the computer.In other words, software is a set of programs, procedures, algorithms and its documentation concerned with the operation of a data processing system .Program software performs the function of the program it implements, either by directly providing instructions to the digital electronics or by serving as an input to another piece of software.The term was coined to contrast to the term hardware (meaning physical devices).In contrast to hardware, software "cannot be touched". Software is also sometimes used in a more narrow sense, meaning application software only.Sometimes the term includes data that has not traditionally been associated with computers, such as film, tapes, and records.
Computer software is so called to distinguish it from computer hardware , which encompasses the physical interconnections and devices required to store and execute (or run) the software.At the lowest level, executable code consists of machine language instructions specific to an individual processor.A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state.Programs are an ordered sequence of instructions for changing the state of the computer in a particular sequence.It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language ) than machine language.Software may also be written in an assembly language , essentially, a mnemonic representation of a machine language using a natural language alphabet.Assembly language must be assembled into object code via an assembler .
Types of software
Software includes all the various forms and roles that digitally stored data may have and play in a computer (or similar system), regardless of whether the data is used as code for a CPU, or other interpreter , or whether it represents other kinds of information.Software thus encompasses a wide array of products that may be developed using different techniques such as ordinary programming languages , microcode , or an FPGA configuration.The types of software include web pages developed in languages and frameworks like PHP , Perl , JSP or ASP.NET and desktop applications like OpenOffice.org , Microsoft Word developed in languages like C , C++ , Objective-C , Java , C# , or Smalltalk . Application software usually runs on an underlying software operating systems such as Linux or Microsoft Windows .Software (or firmware ) is also used in video games and for the configurable parts of the logic systems of automobiles , televisions , and other consumer electronics .
System software
System software is computer software designed to operate the computer hardware, to provide basic functionality, and to provide a platform for runningapplication software. System software includes device drivers, operating systems, servers, utilities, and window systems.
Programming software
Programming software include tools in the form of programs or applications that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs such as compilers, debuggers, interpreters, linkers, andtext editors, that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object. Programming tools are intended to assist a programmer in writing computer programs, and they may be combined in an integrated development environment (IDE) to more easily manage all of these functions.