FACTOID # 13: New York has America's lowest percentage of residents who are veterans.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Computer software

Computer software is a general term used to describe a collection of computer programs, procedures and documentation that perform some tasks on a computer system.[1] The term includes application software such as word processors which perform productive tasks for users, system software such as operating systems, which interface with hardware to provide the necessary services for application software, and middleware which controls and co-ordinates distributed systems. Look up software in Wiktionary, the free dictionary. ... // The top priority spheres of company activity are: Artificial Neural Networks Signals Processing Images Processing Remote Sensing (processing of multispectral satellite images) Software Development Scientific Software consists of the following departments: Research Department Neuro Research Group Web Development General Development Group This time a group of specialists of the company... Image File history File links Size of this preview: 617 × 600 pixelsFull resolution (930 × 904 pixel, file size: 113 KB, MIME type: image/png) File links The following pages on the English Wikipedia link to this file (pages on other projects are not listed): OpenOffice. ... Image File history File links Size of this preview: 617 × 600 pixelsFull resolution (930 × 904 pixel, file size: 113 KB, MIME type: image/png) File links The following pages on the English Wikipedia link to this file (pages on other projects are not listed): OpenOffice. ... Screenshot of a KDE desktop. ... OpenOffice. ... A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ... A procedure is a series of activities, tasks, steps, decisions, calculations and other processes, that when undertaken in the sequence laid down produces the described result, product or outcome. ... Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. ... A word processor (also more formally known as a document preparation system) is a computer application used for the production (including composition, editing, formatting, and possibly printing) of any sort of viewable or printed material. ... System software is a generic term referring to any computer software which manages and controls the hardware so that application software can perform a task. ... An operating system (OS) is a software that manages computer resources and provides programmers with an interface used to access those resources. ... For other uses, see Hardware (disambiguation). ... This article is about integration software. ... Distributed computing is a method of computer processing in which different parts of a program are run simultaneously on two or more computers that are communicating with each other over a network. ...


"Software" is sometimes used in a broader context to mean anything which is not hardware but which is used with hardware, such as film, tapes and records.[2]

Contents

Relationship to computer hardware

Main article: Computer hardware

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. In computers, software is loaded into RAM and executed in the central processing unit. At the lowest level, software consists of a machine language specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions which change the state of the computer from its preceding state. Software is an ordered sequence of instructions for changing the state of the computer hardware 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. High-level languages are compiled or interpreted into machine language object code. 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. Computer hardware is the physical part of a computer, including its digital circuitry, as distinguished from the computer software that executes within the hardware. ... This article is about the machine. ... Computer hardware is the physical part of a computer, including its digital circuitry, as distinguished from the computer software that executes within the hardware. ... RAM redirects here. ... CPU redirects here. ... A system of codes directly understandable by a computers CPU is termed this CPUs native or machine language. ... A high-level programming language is a programming language that, in comparison to low-level programming languages, may be more abstract, easier to use, or more portable across platforms. ... In the philosophy of language, a natural language (or ordinary language) is a language that is spoken, written, or signed by humans for general-purpose communication, as distinguished from formal languages (such as computer-programming languages or the languages used in the study of formal logic, especially mathematical logic) and... This article is about the computing term. ... In computer science, an interpreter is a computer program that executes, or performs, instructions written in a computer programming language. ... An assembly language is a low-level language for programming computers. ... An assembly language is a low-level language for programming computers. ...


The term "software" was first used in this sense by John W. Tukey in 1958.[3] In computer science and software engineering, computer software is all computer programs. The theory that is the basis for most modern software was first proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem.[4] John Wilder Tukey (June 16, 1915 - July 26, 2000) was a statistician. ... Jan. ... Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ... Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. ... Alan Mathison Turing, OBE, FRS (pronounced ) (23 June 1912 – 7 June 1954) was an English mathematician, logician and cryptographer. ... 1935 (MCMXXXV) was a common year starting on Tuesday (link will display full calendar). ...


Types

Practical computer systems divide software systems into three major classes: system software, programming software and application software, although the distinction is arbitrary, and often blurred. This article or section is in need of attention from an expert on the subject. ... A software system is a system based on software forming part of a computer system (a combination of hardware and software). ... System software is a generic term referring to any computer software which manages and controls the hardware so that application software can perform a task. ... Elements of Programming Software Computer programming Programming language Computer program Software suite Integrated development environment (IDE) Application programming interface (API) Text editor Source code editor Programming tool Compiler Compiler optimization Interpreter (computing) Parsing Linker Assembler Debugger Software Development is founded on Programming Software Instruction Command Implementation Execution (computers) Software development... Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. ...

System software is a generic term referring to any computer software which manages and controls the hardware so that application software can perform a task. ... Computer hardware is the physical part of a computer, including its digital circuitry, as distinguished from the computer software that executes within the hardware. ... This article or section is in need of attention from an expert on the subject. ... An operating system (OS) is a software that manages computer resources and provides programmers with an interface used to access those resources. ... A device driver, or software driver is a computer program allowing higher-level computer programs to interact with a computer hardware device. ... In information technology, a server is an application or device that performs services for connected clients as part of a client-server architecture. ... A windowing system is a graphical user interface (GUI) which uses the window as one of its primary metaphors. ... Wikipedia does not yet have an article with this exact name. ... Elements of Programming Software Computer programming Programming language Computer program Software suite Integrated development environment (IDE) Application programming interface (API) Text editor Source code editor Programming tool Compiler Compiler optimization Interpreter (computing) Parsing Linker Assembler Debugger Software Development is founded on Programming Software Instruction Command Implementation Execution (computers) Software development... A programmer or software developer is someone who programs computers, that is, one who writes computer software. ... A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ... A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ... Notepad is the standard text editor for Microsoft Windows A text editor is a piece of computer software for editing plain text. ... A compiler is a computer program that translates a computer program written in one computer language (called the source language) into an equivalent program written in another computer language (called the output or the target language). ... In computer science, an interpreter is a computer program that executes, or performs, instructions written in a computer programming language. ... Figure of the linking process, where object files and static libraries are assembled into a new library or executable. ... A debugger is a computer program that is used to debug (and sometimes test or optimize) other programs. ... An integrated development environment (IDE), also known as integrated design environment and integrated debugging environment, is a programming environment that has been packaged as an application program,that assists computer programmers in developing software. ... Command has multiple meanings: An order. ... GUI redirects here. ... Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. ... In common language, a task is part of a set of actions which accomplish a job; the sense is that useful work is getting done. Task analysis is the analysis or a breakdown of exactly how a task is accomplished, such as what sub-tasks are required. ... This article does not cite any references or sources. ... Business software is generally any software program that helps a business increase productivity or measure their productivity. ... Educational software is computer software whose primary purpose is teaching or self-learning. ... In computers, medical software is a significant branch of software engineering. ... This article is principally about managing and structuring the collections of data held on computers. ... This article needs a complete rewrite for the reasons listed on the talk page. ...

Program and library

A program may not be sufficiently complete for execution by a computer. In particular, it may require additional software from a software library in order to be complete. Such a library may include software components used by stand-alone programs, but which cannot work on their own. Thus, programs may include standard routines that are common to many programs, extracted from these libraries. Libraries may also include 'stand-alone' programs which are activated by some computer event and/or perform some function (e.g., of computer 'housekeeping') but do not return data to their calling program. Libraries may be called by one to many other programs; programs may call zero to many other programs. A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ... This article is about the machine. ... In computer science, a library is a collection of subprograms used to develop software. ... AStand-Alone program is any program that can run without being installed. ... Event-driven programming is a computer programming paradigm. ... Execution in computer and software engineering is the process by which a computer or virtual computer carries out the instructions of a computer program. ...


Three layers

Starting in the 1980s, application software has been sold in mass-produced packages through retailers.
See also: Software architecture

Users often see things differently than programmers. People who use modern general purpose computers (as opposed to embedded systems, analog computers, supercomputers, etc.) usually see three layers of software performing a variety of tasks: platform, application, and user software. Image File history File links Packagedsoftwareatretail. ... Image File history File links Packagedsoftwareatretail. ... The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them. ... A router, an example of an embedded system. ... A page from the Bombardiers Information File (BIF) that describes the components and controls of the Norden bombsight. ... For other uses, see Supercomputer (disambiguation). ...

Platform software
Platform includes the firmware, device drivers, an operating system, and typically a graphical user interface which, in total, allow a user to interact with the computer and its peripherals (associated equipment). Platform software often comes bundled with the computer. On a PC you will usually have the ability to change the platform software.
Application software
Application software or Applications are what most people think of when they think of software. Typical examples include office suites and video games. Application software is often purchased separately from computer hardware. Sometimes applications are bundled with the computer, but that does not change the fact that they run as independent applications. Applications are almost always independent programs from the operating system, though they are often tailored for specific platforms. Most users think of compilers, databases, and other "system software" as applications.
User-written software
User software tailors systems to meet the users specific needs. User software include spreadsheet templates, word processor macros, scientific simulations, and scripts for graphics and animations. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is. Depending on how competently the user-written software has been integrated into purchased application packages, many users may not be aware of the distinction between the purchased packages, and what has been added by fellow co-workers.

In computing, a platform describes some sort of framework, either in hardware or software, which allows software to run. ... A microcontroller, like this PIC18F8720 is controlled by firmware stored inside on FLASH memory In computing, firmware is a computer program that is embedded in a hardware device, for example a microcontroller. ... A device driver, or software driver is a computer program allowing higher-level computer programs to interact with a computer hardware device. ... An operating system (OS) is a software that manages computer resources and provides programmers with an interface used to access those resources. ... GUI redirects here. ... For an account of the words periphery and peripheral as they are used in biology, sociology, politics, computer hardware, and other fields, see the periphery disambiguation page. ... A stylised illustration of a personal computer A personal computer (PC) is a computer whose original sales price, size, and capabilities make it useful for individuals, intended to be operated directly by an end user, with no intervening computer operator. ... Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. ... User software is computer software that is tailored for a specific user or users, rather than the general public. ...

Creation

Main article: Computer programming

Programming redirects here. ...

Operation

Computer software has to be "loaded" into the computer's storage (such as a hard drive, memory, or RAM). Once the software has loaded, the computer is able to execute the software. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code. Each instruction causes the computer to carry out an operation -- moving data, carrying out a computation, or altering the control flow of instructions. This article does not cite any references or sources. ... Typical hard drives of the mid-1990s. ... Look up RAM, Ram, ram in Wiktionary, the free dictionary. ... In computer science, an instruction typically refers to a single operation of a processor within a computer architecture. ... For other uses, see Hardware (disambiguation). ... A system of codes directly understandable by a computers CPU is termed this CPUs native or machine language. ... In Computer Science, data is often distinguished from code, though both are represented in modern computers as binary strings. ... Look up computation in Wiktionary, the free dictionary. ... In computer science control flow (or alternatively, flow of control) refers to the order in which the individual statements, instructions or function calls of an imperative or functional program are executed or evaluated. ...


Data movement is typically from one place in memory to another. Sometimes it involves moving data between memory and registers which enable high-speed data access in the CPU. Moving data, especially large amounts of it, can be costly. So, this is sometimes avoided by using "pointers" to data instead. Computations include simple operations such as incrementing the value of a variable data element. More complex computations may involve many operations and data elements together.


Instructions may be performed sequentially, conditionally, or iteratively. Sequential instructions are those operations that are performed one after another. Conditional instructions are performed such that different sets of instructions execute depending on the value(s) of some data. In some languages this is known as an "if" statement. Iterative instructions are performed repetitively and may depend on some data value. This is sometimes called a "loop." Often, one instruction may "call" another set of instructions that are defined in some other program or module. When more than one computer processor is used, instructions may be executed simultaneously. It has been suggested that this article or section be merged into Modularity (programming). ...


A simple example of the way software operates is what happens when a user selects an entry such as "Copy" from a menu. In this case, a conditional instruction is executed to copy text from data in a 'document' area residing in memory, perhaps to an intermediate storage area known as a 'clipboard' data area. If a different menu entry such as "Paste" is chosen, the software may execute the instructions to copy the text from the clipboard data area to a specific location in the same or another document in memory.


Depending on the application, even the example above could become complicated. The field of software engineering endeavors to manage the complexity of how software operates. This is especially true for software that operates in the context of a large or powerful computer system. Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. ... This article or section is in need of attention from an expert on the subject. ...


Currently, almost the only limitations on the use of computer software in applications is the ingenuity of the designer/programmer. Consequently, large areas of activities (such as playing grand master level chess) formerly assumed to be incapable of software simulation are now routinely programmed. The only area that has so far proved reasonably secure from software simulation is the realm of human art— especially, pleasing music and literature.[citation needed]


Kinds of software by operation: computer program as executable, source code or script, configuration. A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ... Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ... This article or section should be merged with script programming language In computer applications, a script, roughly speaking, is a computer program that automates the sort of task that a user might otherwise do interactively at the keyboard. ... In communications or computer systems, a configuration is an arrangement of functional units according to their nature, number, and chief characteristics. ...


Quality and reliability

Software reliability considers the errors, faults, and failures related to the design, implementation and operation of software. Software reliability is one of a number of aspects of computer software which can be taken into consideration when determining the quality of the software. ...


See Software auditing, Software quality, Software testing, and Software reliability. A computer security audit is a manual or systematic measurable technical assessment of a system or application. ... When applied to software the adjective quality may apply to source code as seen by software developers, or to applications software as seen by the end-users of the software. ... Software testing is the process used to assess the quality of computer software. ... Software reliability is one of a number of aspects of computer software which can be taken into consideration when determining the quality of the software. ...


License

Software license gives the user the right to use the software in the licensed environment, some software comes with the license when purchased off the shelf, or an OEM license when bundled with hardware. Other software comes with a free software licence, granting the recipient the rights to modify and redistribute the software. Software can also be in the form of freeware or shareware. See also License Management. A software license is a legal agreement which may take the form of a proprietary or gratuitous license as well as a memorandum of contract between a producer and a user of computer software. ... A free software licence is a software licence which grants recipients rights to modify and redistribute the software which would otherwise be prohibited by copyright law. ... The term Freeware refers to gratis proprietary software with closed source. ... Look up shareware in Wiktionary, the free dictionary. ... Licence Management (or Software Asset Management) names processes, which secures legal and efficient handling of software in enterprises. ...


Patents

The issue of software patents is controversial. Some believe that they hinder software development, while others argue that software patents provide an important incentive to spur software innovation. See software patent debate. Software patent does not have a universally accepted definition. ... “Software development” redirects here. ... There is heated debate as to whether and to what extent it should be possible to patent software and computer-implemented inventions as a matter of public policy. ...


Ethics and rights for software users

Being a new part of society, the idea of what rights users of software should have is not very developed. Some, such as the free software community, believe that software users should be free to modify and redistribute the software they use. They argue that these rights are necessary so that each individual can control their computer, and so that everyone can cooperate, if they choose, to work together as a community and control the direction that software progresses in. Others believe that software authors should have the power to say what rights the user will get. // The free software community is also called the open source community or the Linux community. ...


Software companies and non-profit organizations

Examples of non-profit software organizations : Free Software Foundation, GNU Project
Examples of large software companies are: Microsoft, IBM, Oracle, SAP and HP.[5] The Free Software Foundation (FSF) is a non-profit corporation founded in October 1985 by Richard Stallman to support the free software movement (free as in freedom), and in particular the GNU project. ... The GNU logo, drawn by Etienne Suvasa The GNU Project was announced in 1983 by Richard Stallman. ... Microsoft Corporation, (NASDAQ: MSFT, HKSE: 4338) is a multinational computer technology corporation with global annual revenue of US$44. ... For other uses, see IBM (disambiguation) and Big Blue. ... This article is about prophetic oracles in various cultures. ... The abbreviation, acronym, or initialism SAP has several different meanings: SAP AG, a German software company, or its various products such as SAP R/3 or SAP Business Information Warehouse second audio program (television) Session Announcement Protocol Soritong audio player Simple As Possible Computer Architecture Structural Adjustment Program of the... HP may refer to: Handley Page Aircraft Company Harry Potter, a series of fantasy novels by British writer J. K. Rowling Hello! Project (H!P), a Japanese pop recording project Hewlett-Packard, a computer and computer peripheral company High Point, North Carolina High potency, a term used in biology, pharmacology...


See also

Software Portal

Image File history File links Portal. ... System software is a generic term referring to any computer software which manages and controls the hardware so that application software can perform a task. ... Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. ... A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ... For the formal concept of computation, see computation. ... Software as a service (SaaS) is a model of software delivery where the software company provides maintenance, daily technical operation, and support for the software provided to their client. ... This is a list of the origins of computer-related terms (i. ... Starting in the 1980s, application software has been sold in mass-produced packages through retailers The software industry comprises of businesses involved in the development, maintenance and publication of computer software. ... Custom software is a type of software developed either for a specific organization or function that differs from other already available software (also called off-the-shelf software). ... Programming redirects here. ... For a more comprehensive list, see the List of computer programming topics. ... Computer programming is a subfield of computer science. ... A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ... This does not cite any references or sources. ... Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. ... A software license is a legal agreement which may take the form of a proprietary or gratuitous license as well as a memorandum of contract between a producer and a user of computer software. ... Proprietary software is software with restrictions on copying and modifying as enforced by the proprietor. ... Free software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things. ... The logo of the Open Source Initiative For other uses, see open source. ... The copyright infringement of software (also known as software piracy) refers to several practices when done without the permission of the copyright holder: Creating a copy and/or selling it. ... The term Freeware refers to gratis proprietary software with closed source. ... Look up shareware in Wiktionary, the free dictionary. ... This article or section does not adequately cite its references or sources. ... The Forbes Global 2000 includes the following list of the worlds largest software companies. ...

References

  1. ^ Wordreference.com: WordNet® 2.0. Princeton University, Princeton, NJ. Retrieved on 2007-08-19.
  2. ^ software..(n.d.). Dictionary.com Unabridged (v 1.1). Retrieved 2007-04-13, from Dictionary.com website: http://dictionary.reference.com/browse/software
  3. ^ John Tukey, 85, Statistician; Coined the Word 'Software', New York Times, Obituaries, 2000-07-28.
  4. ^ Hally, Mike (2005:79). Electronic brains/Stories from the dawn of the computer age. British Broadcasting Corporation and Granta Books, London. ISBN 1-86207-663-4.
  5. ^ Software Top 100: the world's largest software companies. the Top 100 research foundation. Retrieved on 2008-04-28.

Year 2007 (MMVII) was a common year starting on Monday of the Gregorian calendar in the 21st century. ... is the 231st day of the year (232nd in leap years) in the Gregorian calendar. ... Year 2007 (MMVII) was a common year starting on Monday of the Gregorian calendar in the 21st century. ... is the 103rd day of the year (104th in leap years) in the Gregorian calendar. ... The New York Times is an internationally known daily newspaper published in New York City and distributed in the United States and many other nations worldwide. ... Year 2000 (MM) was a leap year starting on Saturday. ... is the 209th day of the year (210th in leap years) in the Gregorian calendar. ... 2008 (MMVIII) is the current year, a leap year that started on Tuesday of the Common Era (or Anno Domini), in accordance with the Gregorian calendar. ... is the 118th day of the year (119th in leap years) in the Gregorian calendar. ...

Economic Aspects

  • Cockburn, Iain M. & MacGarvie, Megan (2007): "Patents, Thickets, and the Financing of Early-Stage Firms: Evidence from the Software Industry," NBER Working Papers 13644.
  • v. Engelhardt, Sebastian (2008): "The Economic Properties of Software", Jena Economic Research Papers, Volume 2 (2008), Number 2008-045. (in Adobe pdf format)
  • Richardson, George B. (1997): "Economic Analysis, Public Policy and the Software Industry," DRUID Working Papers 97-4. (in Adobe pdf format)

“PDF” redirects here. ... “PDF” redirects here. ...

External links

Wikiquote has a collection of quotations related to:
software
  • Open Dictionary
Image File history File links This is a lossless scalable vector image. ... Wikiquote is one of a family of wiki-based projects run by the Wikimedia Foundation, running on MediaWiki software. ...

  Results from FactBites:
 
Computer Software - Software Downloads - Software Reviews at TryBestSoft.com (163 words)
Computer software (or simply software) refers to one or more computer programs held in the storage of a computer for some purpose.
Program software performs the function of the program it implements, either by directly providing instructions to the computer hardware or by serving as input to another piece of software.
Use of this Web site (Software Downloads) constitutes acceptance of the TBS Network Privacy Policy.
Computer software - Wikipedia, the free encyclopedia (1628 words)
Computer software (or simply software) is the programs and procedures that enable a computer to perform a specific task, as opposed to the physical components of the system (hardware).
Computer software is so called in contrast to computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software.
Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m