Home

 





















 

 
 

Computer software

 

Computer software (or simply software) is that part of a computer system that consists of encoded information (or computer instructions), as opposed to the physical computer equipment (hardware) which is used to store and process this information. The term is roughly synonymous with computer program but is more generic in scope.

The term "software" was first used in this sense by John W. Tukey in 1957. In computer science and software engineering, computer software is all information processed by computer systems, programs and data. The concept of software was first proposed by Alan Turing in an essay.

Contents

[hide]

[edit]

Relationship to hardware

Computer software is so called in contrast to computer hardware, which is the physical substrate 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, and operating system. The machine language consists of groups of binary values signifying processor instructions and data, 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 to obtain a particular result. It is generally written in 'high-level 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.

[edit]

Relationship to data

Software has historically been considered an intermediary between electronic hardware and data, which latter the hardware processes according to the sequence of instructions defined by the software. As computational science becomes increasingly complex, the distinction between software and data becomes less precise. Data has generally been considered as either the output or input of executed software. However, data is not the only possible output or input. For example, (system) configuration information may also be considered input, although not necessarily considered data (and certainly not applications data). The output of a particular piece of executed software may be the input for another executed piece of software. Therefore, software may be considered an interface between hardware, data, and/or (other) software.

[edit]

System, application and programming software

Practical computer systems divide software into three major classes: system software, application software and programming software, although the distinction is somewhat arbitrary, and often blurred.

System software helps run the computer hardware and computer system. It includes operating systems, device drivers, diagnostic tools, servers, windowing systems, utilities and more.
Application software allows humans to accomplish one or more specific tasks. Typical applications include office suites, business software, educational software, databases and computer games. Most contermporary application software uses a graphical user interface (GUI), for humans to interact with the data, but a large portion of the business world still uses powerful legacy systems written before the development of GUI, and a lot of computing occurs without direct human interaction.
Programming software usually provides some useful tools to help programmer to write computer programs and software using different programming language in a more convenient way. The tools include text editor, compiler, interpreter, linker, debugger, and so on. Integrated development environment (IDE) merges those tools in a software bundle, and programmer may not need to type a lot of commands for compiling, interpreter, debugging, tracing, and etc., because IDE mostly has a GUI.
[edit]

Software program and library

Software program is usually the directly executable part of a software. Software libraries can include software components used by stand-alone programs, but which cannot be executed on their own. Thus, programs can include standard routines that are common to many programs, extracted from the libraries, but libraries can also include stand-alone programs. Depending on operating system, a program can be called by another program, by a human being, and can call another program.

[edit]

Three layers of software

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.

Platform software 
Platform includes the basic input-output system (often described as firmware rather than software), 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, and users may not realize that it exists or that they have a choice to use different 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, graphics and animation scripts. 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.

See also: Software architecture.

[edit]

Software creation

Look back to Computer software

[edit]

Software operation

Computer software has to be "loaded" into the computer's storage (also known as memory and RAM).

Once the software is loaded, the computer is able to operate the software. Computers operate by executing the computer program. 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 flow of instructions.

Kinds of software by operation: computer program as executable, source code or script, configuration.

[edit]

Software quality and reliability

Software reliability considers the errors, faults, and failures related to the creation and operation of software.

See Software auditing, Software quality, Software testing, and Software reliability.

[edit]

Software patents

The issue of software patents is very controversial, since while patents protect the ideas of "inventors", they are widely believed to hinder software development. See Hacker ethic

[edit]

See also

 
PC Software Manufacturers      
 

Software Select:- The lowest prices on all software titles, games, office solutions, quicken products,over 450,000 titles available.
5th Dimension Software - Amiga licenceware retail sales and development.
Applications Mall - offers a variety of cross-platform business applications, development tools, utilities, and education for your business.
ASAP Software Express - sells and supports PC software and add-on hardware products geared to business and government.
Beyond Software- The lowest prices on all software titles, games, office solutions, quicken products,over 450,000 titles available.
B & L Marketing - software titles at wholesale prices.
BMT Micro - OS/2, DOS, Windows, Linux, and Java software distribution.
Bookmark Software - with online catalog of titles.
BuyDirect.com - facilitates secure Internet payments and immediate product download from the software manufacturer.
BuyONet - software shopping center with applications ready for download. Payments are accepted in 22 different currencies for software in more than 20 different languages.
Byers Group Software Express Superstore - sells various types of software.
Campus Connection - provides student services including computer products and textbooks.
Celestin Company, Inc. - Apprentice and MacHack Macintosh software related products, and sheet music on CD-ROM.
Chase Computing International Corp. - Chinese software specialist. Microsoft Chinese language products distributor in the United States and Canada.
Chinese Software Superstore - Chinese and Japanese software titles for business and home, including Chinese PC games and Chinese Microsoft Windows.
Chumbo Corporation
Circuits & Systems, Inc. - custom programming and retail hardware and software. Developer of Chaver-ware synagogue membership and accounting applications.
Computer Outfitters, Inc. - site includes an online catalog.
ComputerCost - carrying overstocked and surplus versions of current products.
Computermate - international supplier of PC software and peripherals.
Computers R Us/Discount Bible Software
DEK Software International
Diskovery Educational Systems - offers software at academic prices for educational customers.
Doesn't Byte Software - sells shareware authoring, e-mail and file management software.
Download Mall - a secure online mall which offers software from leading publishers that can be downloaded instantly.
Download Superstore
Echo Software & Hardware - new and used.
Ethiopian Computers and Software - Ethiopic software for computers and the internet, references and links.
eWarehouse - browse, download, and purchase software.
Genesis Technologies, Inc. - hardware and academically priced software for students, teachers, and staff of educational institutions.
Get Software - provides international and domestic customers the ability to electronically purchase, register, and download software.
Great Stuff Network - buy and sell electronic content on the web, including games, software, novels, poetry, music, clip art, and cartoons.
H+a Collection - games, art, reference, and educational software.
HALLoGRAM Publishing - programming tools, add-on libraries, and scientific and technical software.
Herb's Discount Software - software liquidator.
Hewlett Packard-Printer drivers
IMV/Victron UPS and Software - UPS power protection from a quarter kVa to 3MVa. Software for powermanagent.
Indelible Blue - software and hardware for Windows NT, Unix, Java, OS/2, and Lotus Notes environments.
Inform Group Ltd - supplier of legal information systems software.
InfoTel Corporation - Markets DB2 Utilites for MVS, IMS and the ecopad. Telecommunications optimizer for UNIX systems.
Intuit Software - Makers of Quicken, Quickbooks, Turbo tax and other financial software.
Islander Software - Linux, FreeBSD, UNIX, and miscellaneous software supplier.
JE Software
Journey Education Marketing - educational software for students, teachers, and schools.
Loadstar - surviving Commodore software vendor.
Logic - Macintosh and IBM PC reseller/repair/software support. IBM RS/6000 VAR. Developer support for Macintosh and PC: C/C++/HyperTalk/Unix.
Lotus Store
Macromall
MacTreasures - source for unique and unusual Apple and Mac games, cables, programming tools and more. Online order form available.
Mareco Sales - software company offering academic discounts on products.
Martin's Surplus Software - a.k.a. Martian Surplus - previous/current versions of educational, productivity, utilities, and entertainment software ideal for limited budgets.
Martinsson - Swedish distribution and consultancy company for internetworking and integration products.
McAfee Mall - downloadable software from McAfee and other vendors.
Meridian Marketing Group, Inc. - marketing and distribution, via the Internet, of high-performance, high-technology Unix and PC-based software for workstations.
Micro-Sped Computer Consultants - sells special education software, and provide access to the internet.
Micromaster Software - academic discounts on software, to students, teachers faculty, staff & schools.
MicroWorld
Mind Express - online retailer specializing in DVD-ROM, Nintendo 64, and Playstation.
MobileSoft - offers Windows CE based software.
Moore Technologies
Mr Bones Killer Graphics - offers software for a variety of platforms.
Multimedia Universe - entertainment and business software; printers and accessories.
Olympus
OmniSoft Business Solutions - software solutions for businesses and athletic organizations. Database design and hardware connectivity.
Open Architecture Systems (Pty) LTD
Oregon Data Products
PCLine Store - Internet software, books and magazines.
Provantage
Qwerks - gathers software from around the world and distributes it to anyone with a valid credit card. Most of the software on the site can be downloaded immediately.
R.I. Soft Systems - Contains demos, freebies, shareware, information, and more.
Raleigh Group International - vendor of software developement tools specializing in configuration and change management tools.
Real magic Linux - woman owned Red Hat reseller small business.
RIGG S.A - Chilean Software and Peripherals distributor. McAfee Agent, US Robotics distributor.
RomTech, Inc. - software solutions for the home and office.
Sabra2000 - offering electronic download.
Santa Monica Software Estonia - distributer of data communication products in the Baltics: Cisco, Cascade, Allied Telesyn, FTP Software, NCD.
SaralSoft - specializing in India-related software.
Scorpious On-Line - reseller of Adobe publishing and graphics software.
SET GmbH - Spezialist für kaufmännische Software: KHK Software, KHK Classic Line, KHK Office Line, Finanzbuchhaltung, Rechnungswesen, Auftragsbearbeitung, Lohnbuchhaltung, Produktion (in German).
Sidea - software info, demos, evaluations and assistance.
Sigma Computers - hardware and software sales.
Soft&Net - provides software distribution.
Soft/Export, Inc. - software republishing company specializing in world-wide marketing and sales of Windows software for help authors, Visual Basic, Visual C/C++, and Delphi developers.
SoftCenter - offers a variety of name brand software.
SoftChoice - corporate and government software reseller.
Softdisk Publishing
Softmania 
Software City - software, hardware, computer training and servicing centers. Nationwide chain of computer professionals.
Software of the Month Club
Software Online - Canadian computer superstore.
Software Plus
Software Street - online catalog of discounted software products, detailed info and reviews.
Software Unboxed
SoftwareChannel-World
Starvector Software
Sunbelt Software Distribution - one stop shop for WindowsNT Utilities
Supreme Software, Inc. - software, hardware, and peripheral reseller dealing with corporate, government, and educational customers nationwide.
Surplus Direct
Tech Resources Unlimited, Inc. - computer technology books and software store.
Teltek Systems, Inc. - a value added reseller for Adobe, Macromedia and Quadralay. We offer training in FrameMaker and Frame+ SGML.
Thunderbeam - reviews, fun activities and direct sales.
Uncle John's Attic
UniDirect Corporation - software for UNIX, Internet/Web, and NT servers.
UniPress Software - a developer, distributor, reseller, and SuperVAR of PC-UNIX Connectivity, Development Tools and UNIX Applications.
USSoft - purchase and download over the internet.
Visions Technology in Education - software of interest to teachers.
Wholesale Depot Inc.
Wholesale Software - offers software to resellers.
WinCorp Software's Virtual Software Store
Yoursoftware.com