Share on Facebook Share on Twitter Email
Answers.com

software

Did you mean: software, Software AG, Software (New Age Band, '80s, '90s), software (technology), Software (novel), Software (album), Software (2002 Album by Jan Allan) More...

 
Dictionary: soft·ware   (sôft'wâr', sŏft'-) pronunciation
 
n. Computer Science.

The programs, routines, and symbolic languages that control the functioning of the hardware and direct its operation.


Search unanswered questions...
Enter a word or phrase...
All Community Q&A Reference topics
 
Sci-Tech Encyclopedia: Software
Top

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. See also Numbering systems; Numerical representation (computers); Programming languages.

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. See also Human-computer interaction; Local-area networks; Wide-area networks.

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. See also Computer graphics; Electronic mail; Video games; Word processing.

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). See also Database management system; Internet; Operating system; 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 includes software to produce special effects for movies and television programs.

Real-time software operates in a time-compressed, real-world environment. Although most software is in some sense real-time, since the users of modern software are usually interacting with it via a GUI, real-time software typically has much shorter time constraints. For example, software that controls a nuclear reactor must make decisions and react to its environment in minuscule fractions of a second.

With the advent of multiple program portions, software development has become considerably more complicated. Whereas it was formerly considered sensible to develop all of a software system in the same programming language, now the different portions are often developed in entirely different languages. The relatively complex GUI, for example, can most conveniently be developed in one of the so-called visual languages, since those languages contain powerful facilities for creating it. The server software, on the other hand, will likely be built using a database package and the database language SQL (a Structured Query Language, for inquiring into the contents of a database). If the server software is also responsible for interacting with a network such as the Internet, it may also be coded in a network-support language such as Java. An object-oriented approach may be adopted in its development, since the software will need to manipulate objects on the Internet. See also Computer programming; Object-oriented programming; Software engineering.


 
Modern Science: Software
Top
software

The programs and instructions that run a computer, as opposed to the actual physical machinery and devices that compose the hardware.

 
Marketing Dictionary: software
Top

computer program that controls the functions of a computer.

 
Accounting Dictionary: Software
Top

Computer instructions. A collection of instructions for a particular function is a program. A collection of programs to carry out a specific task is referred to as a package. The term software applies to applications programs, specialized system programs, or operating system utilities (which relates to operating the computer system). Software packages are available for many accounting-related applications, including bookkeeping, tax preparation and planning, management advisory services, audit, spreadsheets, data base management, preparing formal reports and documents, and practice administration (i.e., time and billing).

 
Business Encyclopedia: Software
Top

Computer systems consist in part of hardware that controls the overall activity of the computer. But in order for hardware to function, it must have the necessary instructions. These instructions are supplied by software. There are different kinds of software, each of which serves a specified purpose. Some software is necessary to make the computer operate. Another kind enables the computer to perform specific tasks. Still other software exists solely for entertainment purposes.

Operating System Software

The operating system software makes the computer perform its basic operational functions. Disk operating system (DOS) is one of the earlier types of operating system software used to power IBM-compatible computers. Commands are typed at a prompt to direct the computer to carry out its functions.

Windows is the most common operating system today. It permits several programs to be opened simultaneously and provides ease of movement between the open programs.

Windows NT is used for business networks. Once this operating system is downloaded and running, other kinds of software are opened to perform the desired functions.

The Macintosh Operating System (Mac OS) is designed for use with Apple, Mac, and Power Mac computers. One disadvantage of Mac OS is that fewer programs have been written for it compared to the number written for DOS or Windows.

Application Software

Application software allows performance of specific tasks, such as writing letters, computing formulas, playing games, or carrying out desktop publishing tasks

  • Word-processing software: Writing tasks previously done on typewriters with considerable effort can now be easily completed with word-processing software. Writing tasks such as keying in reports, letters, and tables, as well as merging documents, can be performed easily. Documents can be easily edited and formatted. Revisions can be made by deleting (cutting), inserting, moving (cutting and pasting), and copying data. Documents can be stored (saved) and opened again for revisions and/or printing. Many styles and sizes of fonts are available to make the document attractive.
  • Spreadsheet software: Spreadsheet software permits performance of an almost endless variety of quantitative tasks such as budgeting, keeping track of inventory, preparing financial reports, or manipulating numbers in any fashion, such as averaging each of ten departmental monthly sales over a six-month period. A spreadsheet contains cells, the intersection of rows and columns. Each cell contains a value keyed in by the user. Cells also contain formulas with many capabilities, such as adding, multiplying, dividing, subtracting, averaging, or even counting. An outstanding feature is a spreadsheet's ability to recalculate automatically. If one were preparing a budget, for example, and wanted to change a variable such as an increase in salary or a change in amount of car payments, the formulas would automatically recalculate the affected items and the totals.
  • Database software: A database contains a list of information items that are similar in format and/or nature. An example is a phone book that lists a name, address, and phone number for each entry. Once stored in a database, information can be retrieved in several ways, using reports and queries. For example, all the names listed for a given area code could be printed out and used for a commercial mailing to that area.
  • Desktop publishing software: This software permits the user to prepare documents by using both word-processing devices and graphics. Desktop publishing software uses word-processing software, with all its ease of entering and revising data, and supplements it with sophisticated visual features that stem from graphics software. For example, one can enhance a printed message with virtually any kind of illustration, such as drawings, paintings, and photographs.
  • Presentation software: A speaker may use presentation software to organize a slide show for an audience. Text, graphics, sound, and movies can easily be included in the presentation. An added feature is that the slide show may be enhanced by inclusion of handouts with two to six slides printed on a page. The page may be organized to provide space for notes to be written in by the audience as the presentation ensues. An example of this is Power Point. Preparation of the software is simplified by the use of 'wizards' that walk the user through the creation of the presentation.
  • Office suite software: Office suite software puts together complete programs of software. A typical suite package might include word processing, spreadsheet, databases, and presentation software. Depending on the jobs that need to be done, the suite provides the tools to make professional-looking documents.

Each piece of software works independently as well as with other parts of the suite. Items on the menu bar —such as File, Insert, and Format —work similarly on all the programs in a suite. Thus, familiarity with one program makes it easy to work with the other programs.

A typical example of office suite software is mail sent via bulk rate. It is usually addressed by name to an individual, rather than to "Occupant," with names and addresses accessed from the database memory. Merging those names with the letter in the word processor produces a form letter. A spreadsheet might also have been used to include charts and graphs with the letter. When completed, all forms are inserted into envelopes addressed by means of the database and word processor.

Communications Software

Using telephone lines and working through the computer's modem, communications software makes it possible to communicate to any location in the world using either fax or electronic mail. A fax transmits whatever copy is on an original sheet of paper (text, graphics, or handwriting) to another computer or fax machine. Electronic mail (e-mail) is a text message. It remains in the receiver's computer until retrieved. The message can be stored in either the sender's or the receiver's computer for later processing. Attachments or files can also be sent via e-mail.

Utility Software

Utility software is used to diagnose computer problems and repair them. A major type is a virus (or "illness") checker. It checks for viruses the computer may have received from downloading information received from the Internet, e-mail, or another disk. Although some viruses may do little damage, others can cause serious damage to files and/or the computer operating system. It is important for a computer owner to find a virus-check program, install it, use it, and keep it continually updated. New viruses are found continually, and the only way to be safe is to update. Some antivirus software allows easy updating by downloading new files from the Internet.

Educational Software

By teaching by means of games, educational soft ware is designed to make learning fun. The approach used in educational software is that of a tutorial in which the learner competes with him or herself. Such software appeals to persons of all ages but particularly to young children, who can learn skills related to reading and arithmetic. Older children and adults can learn or improve on a wide variety of more mature skills.

Special Software Acquisition Arrangements

Some kinds of software are given away. Another kind permits the potential user to try the software before purchasing it. Freeware software is free for those who ask, but the rights remain with the developer. Public domain software is free to the user without any copyright or other restrictions. Shareware software permits potential buyers to try out the software. A user who likes it may purchase it by sending payment to the developer. The developer in turn may send the buyer sup porting materials and information.

Summary

Software is as critical to computers as breathing is to humans. Fortunately, an extremely wide variety of software programs are available that make possible the preparation of virtually any kind of computer product.

Bibliography

"The Complete Suite: Office 97 Does It All," (1998). Smart Computing Reference Series: Office 97, (September): vol. 2(3).

"The Computer's Unsung Hero: Its Operating System," (1995). Smart Computing. (February): vol. 6(2).

"Keeping Your Computer Virus-Free", (1999). Smart Computer Reference Series: Troubleshooting, 2nd ed. (March): vol. 3(1).

"What You Should Know About Operating Systems", (1998). Smart Computer Reference Series: Computing for Beginners, (February): vol. 4(2).

"Where NT Falls in the Windows Family", (1998). Smart Computer Learning Series: Windows NT, (August): vol. 4(8).

[Article by: WANDA SAMSON]

 
Word Origin: software
Top

Origin: 1959

The early computers were massive aggregations of hardware, a term first used for them in 1947. That was not a new word, just an application of the long-established word hardware, meaning "metal components and tools." But the hardware shell of the computer protected a soft heart.

At first this interior was made up of programs (1946) written in a code (1946) of 1s and 0s that instructed the computer in its own binary language. Then it included operating systems (1961) and countless more programs, ever more user-friendly (1979). All these were like thoughts in the human brain--dependent on the hardware yet not part of it. In contrast and analogy to hardware, therefore, everything you could not touch or see, the intangible instructions that made the computer work, took the name software in the late 1950s. The new term is attested in a 1960 article in Communications of the Association for Computing Machinery: "Nearly every manufacturer is claiming compatibility with all other equipment via such software as COBOL."

In recent times, the creation of software has inspired numerous other computer words with the suffix -ware. Among them are freeware and shareware, meaning "software available free to all or for free trial on the honor system," vaporware, "software promised but not yet in existence," and wetware, "the human brain."



 
Dental Dictionary: software
Top

n

Various programming aids supplied by manufacturers to facilitate the user’s efficient operation of computer equipment. The collection of programs, routines, and documents associated with a computer (for example, compilers, library routines).

 

n. a set of computer programs, procedures, and associated documentation concerned with the operation of a data processing system—for example, compilers, library routines, manuals, and circuit diagrams.

See the Introduction, Abbreviations and Pronunciation for further details.

 

Instructions that tell a computer what to do. Software is the entire set of programs, procedures, and routines associated with the operation of a computer system, including the operating system. The term differentiates these features from hardware, the physical components of a computer system. Two main types of software are system software, which controls a computer's internal functioning, and application software, which directs the computer to execute commands that solve practical problems. A third category is network software, which coordinates communication between computers linked in a network. Software is written by programmers in any number of programming languages. This information, the source code, must then be translated by means of a compiler into machine language, which the computer can understand and act on.

For more information on software, visit Britannica.com.

 
Philosophy Dictionary: software
Top

Term used for the instructions or programs executed by a computer, as opposed to the physical hardware that enables the machine to follow them. The comparison of a psychological description of a person to a software description of a machine is exploited in functionalism.

 
Law Encyclopedia: Software
Top
This entry contains information applicable to United States law only.

Software instructs a computer what to do. (The computer's physical components are called hardware.) Computer software is the general term for a variety of procedures and routines that harness the computational power of a computer to produce, for example, a general operating system that coordinates the basic workings of the computer or specific applications that produce a database, a financial spreadsheet, a written document, or a game. Computer programmers use different types of programming languages to create the intricate sets of instructions that make computing possible.

Until the personal computer revolution began in the 1980s, software was written mainly for business, government, and the military, which employed large mainframe computers as hardware. With the introduction of personal computers, which have rapidly increased in power and performance, software has emerged as an important commercial product that can be marketed to individuals and small business as well as big business and the government.

Software is, under the law, intellectual property and therefore entitled to protection from persons who seek to exploit it illegally. Software can be protected through the use of trade secrets, copyright, patents, and trademarks.

Trade secret protection may apply to unpublished works and the basic software instructions called source code. Typically trade secrets will be effective if a company develops software and wishes to prevent others from finding out about it. A person who works on developing the software will be required to sign a nondisclosure agreement, which is a contract that obligates the person signing it to keep the project a secret.

Once software is developed and is ready to be sold, it can be copyrighted. Copyright protects the expression of an idea, not the idea itself. For example, a person could not copyright the idea of a computer database management system but could copyright the structure and content of a database software program that expresses the idea of a database system.

Court decisions appear to have limited copyright protection for some features of software. In Apple Computer v. Microsoft Corporation, 35 F.3d 1435 (9th Cir. 1994), the court held that Apple Computer could not copyright the graphical user interface (GUI) it had developed for its Macintosh computer. Microsoft Corporation's Windows software program contained a GUI nearly identical to Apple's. The court stated that Microsoft and other software developers were free to copy the "functional" elements of Apple's GUI because there are only a limited number of ways that the basic GUI can be expressed differently.

In Lotus Development Corp. v. Borland International, 49 F.3d 807 (1st Cir. 1995), Lotus alleged that Borland had copied the hierarchical menu system of the Lotus 1-2-3 spreadsheet program, which contained 469 commands, in its Quattro spreadsheet program. The court of appeals ruled that Borland had not infringed on Lotus's copyright because the menu command hierarchy was a "method of operation," which is not copyrightable under federal copyright law (17 U.S.C.A. § 102(b)).

Patent law supplies another avenue of protection for software companies. A patent protects the idea itself. It is often an unattractive option, however, because it takes a significant amount of time, usually two years, and money to obtain a patent from the U.S. Patent and Trademark Office. The patent process is complicated and technical, with the applicant required to prove to the Patent and Trademark Office that a patent is deserved. Because the shelf life of a software program is often short, seeking a patent for the program is often impractical.

Trademark law protects the name of the software, not the software itself. Protecting a name from being used by others can be more valuable than other forms of protection.

When software is leased or sold, the purchaser usually must agree to accept a software license. When a business negotiates with a software company, it will sign a license agreement that details how the software is to be used and limits its distribution. A software license is an effective tool in preventing piracy.

When consumers buy software from a software company or through a third-party business, they find in the packaging a software license. The license is typically on the sealed envelope that contains the software media, which itself is sealed in plastic wrapping. These "shrink-wrap licenses" describe contractual conditions regarding the purchaser's use of the software. The opening of the shrink-wrap, according to the license, constitutes acceptance of all of the terms contained in the license agreement.

The purchaser is informed that the software is licensed and not sold to the purchaser. By retaining title to the software, the computer software company seeks to impose conditions upon the purchaser, or licensee, that are not otherwise permissible under federal copyright law. The principal terms of the shrink-wrap license include prohibiting the unauthorized copying and renting of the software, prohibiting reverse engineering (figuring out how the software works) and modifications of the software, limiting the use of the software to one computer, disclaiming warranties, and limiting liabilities.

The enforceability of shrink-wrap licenses has been challenged in the courts. The prevailing view is that when mass-market prepackaged software is sold, the transaction is a sale of goods and not a true license agreement. The key issue is whether the license document is part of an enforceable contract. Defenders of shrink-wrap licenses argue that the purchaser agrees to the conditions of the license after breaking the packaging seal and therefore contract law must uphold the written terms of the contract. Opponents argue that the sequence of events in the typical software purchase transaction is skewed. The purchaser is not aware of the license agreement until after the sale is consummated. The purchaser's acceptance of the license agreement is inferred when he or she opens the package or uses the software. However, the purchaser does not sign the license agreement. She may not even read the terms of the license agreement and, in any case, does not expressly agree to them.

In Step-Saver Data Systems v. Wyse Technology, 939 F.2d 91 (1991), the Third Circuit Court of Appeals held that the shrink-wrap license did not become part of the contract and therefore was not a valid modification to a previously existing contractual relationship for the sale of prepackaged computer software. The court concluded that, under the Uniform Commercial Code § 2-207, a contract had existed prior to the opening of the package, the license contained new terms that materially altered the contract, and the purchaser did not expressly accept these terms. Because of these conclusions, the license agreement was invalid and unenforceable.

Software developers have legitimate concerns about software piracy. Counterfeiting is an international problem that results in the sale of millions of dollars of pirated software. The Software Publisher's Association (SPA) and the Business Software Alliance (BSA) are major organizations that combat software piracy. The SPA is the leading international trade association for the personal computer software industry. Both SPA and BSA have collected millions of dollars worldwide from companies that have used pirated software. Most companies using pirated software are reported by former employees.

See: Computer-Assisted Legal Research; Computer Crime; E-mail; Internet; Sales Law.

 
Word Tutor: software
Top
pronunciation

IN BRIEF: The programs, routines, and symbolic languages that control the functioning of the hardware of a computer and direct its operation.

pronunciation I have some great software for playing games on my computer.

 
Wikipedia: Computer software
Top

Computer software, or just software is a general term used to describe the role that computer programs, procedures and documentation play in a computer system.[1]

The term includes:

  • Application software such as word processors which perform productive tasks for users.
  • Firmware which is software programmed resident to electrically programmable memory devices on board mainboards or other types of integrated hardware carriers.
  • Middleware which controls and co-ordinates distributed systems.
  • System software such as operating systems, which interface with hardware to provide the necessary services for application software.
  • Software testing is a domain independent of development and programming. It consists of various methods to test and declare a software product fit before it can be launched for use by either an individual or a group. Many tests on functionality, performance and appearance are conducted by modern testers with various tools such as QTP, Load runner and Black box testing, to edit a checklist of requirements against the developed code. ISTQB is a certification that is in demand for engineers who want to pursue a career in testing.[2]
  • Testware which is an umbrella term or container term for all utilities and application software that serve in combination for testing a software package but not necessarily may optionally contribute to operational purposes. As such, testware is not a standing configuration but merely a working environment for application software or subsets thereof.

Software includes things such as websites, programs or video games, that are coded by programming languages like C or C++.

"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.[3]

Contents

Overview

Computer software is often regarded as anything but hardware, meaning that the "hard" are the parts that are tangible while the "soft" part is the intangible objects inside the computer. Software encompasses an extremely wide array of products and technologies developed using different techniques like programming languages, scripting languages or even microcode or a FPGA state. The types of software include web pages developed by technologies like HTML, PHP, Perl, JSP, ASP.NET, XML, and desktop applications like OpenOffice, Microsoft Word developed by technologies like C, C++, Java,or C#. Software usually runs on an underlying software operating systems such as the Linux or Microsoft Windows. Software also includes video games and the logic systems of modern consumer devices such as automobiles, televisions, and toasters.

Relationship to 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. 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 that 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.

The term "software" was first used in this sense by John W. Tukey in 1958.[4] 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.[5]

Types of software

A layer structure showing where Operating System is located on generally used software systems on desktops

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.

System software

System software helps run the computer hardware and computer system. It includes combination of the following:

The purpose of systems software is to unburden the applications programmer from the details of the particular computer complex being used, including such accessory devices as communications, printers, readers, displays and keyboards, and also to partition the computer's resources such as memory and processor time in a safe and stable manner.

Programming software

Programming software usually provides tools to assist a programmer in writing computer programs, and software using different programming languages in a more convenient way. The tools include:

An Integrated development environment (IDE) is a single application that attempts to manage all these functions.

Application software

Application software allows end users to accomplish one or more specific (not directly computer development related) tasks. Typical applications include:

Application software exists for and has impacted a wide variety of topics.

Software topics

Architecture

Users often see things differently than programmers. People who use modern general purpose computers (as opposed to embedded systems, analog computers and supercomputers) usually see three layers of software performing a variety of tasks: platform, application, and user software.

  • 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 usually 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: End-user development tailors systems to meet 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 default application packages, many users may not be aware of the distinction between the original packages, and what has been added by co-workers.

Documentation

Most software has software documentation so that the end user can understand the program, what it does, and how to use it. Without a clear documentation, software can be hard to use--especially if it is a very specialized and relatively complex software like the Photoshop or AutoCAD.

Developer documentation may also exist, either with the code as comments and/or as separate files, detailing how the programs works and can be modified.

Library

An executable is almost always not sufficiently complete for direct execution. Software libraries include collections of functions and functionality that may be embedded in other applications. Operating systems include many standard Software libraries, and applications are often distributed with their own libraries.

Standard

Since software can be designed using many different programming languages and in many different operating systems and operating environments, software standard is needed so that different software can understand and exchange information between each other. For instance, an email sent from a Microsoft Outlook should be readable from Yahoo! Mail and vice versa.

Execution

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.

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.

Quality and reliability

Software quality is very important, especially for commercial and system software like Microsoft Office, Microsoft Windows and Linux. If software is faulty (buggy), it can delete a person's work, crash the computer and do other unexpected things. Faults and errors are called "bugs." Many bugs are discovered and eliminated (debugged) through software testing. However, software testing rarely – if ever – eliminates every bug; some programmers say that "every program has at least one more bug" (Lubarsky's Law). All major software companies, such as Microsoft, Novell and Sun Microsystems, have their own software testing departments with the specific goal of just testing. Software can be tested through unit testing, regression testing and other methods, which are done manually, or most commonly, automatically, since the amount of code to be tested can be quite large. For instance, NASA has extremely rigorous software testing procedures for its Space Shuttle and other programs because faulty software can crash the whole program and make the vehicle not functional, at great expense.

License

The software's 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 license, 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.

Patents

Software can be patented; however, software patents can be controversial in the software industry with many people holding different views about it. The controversy over software patents is that a specific algorithm or technique that the software has cannot be duplicated by others and is considered an intellectual property and copyright infringement depending on the severity. Some people believe that software patent hinder software development, while others argue that software patents provide an important incentive to spur software innovation.

Ethics and rights

There is more than one approach to creating, licensing, and distributing software. For instance, the free software or the open source community produces software under licensing that makes it free for inspection of its code, modification of its code, and distribution. While the software released under an open source license (such as General Public License, or GPL for short) can be sold for money,[6] the distribution cannot be restricted in the same way as software with copyright and patent restrictions (used by corporations to require licensing fees).

While some advocates of free software use slogans such as "information wants to be free," hinting that it is easy to copy digital data and that the licenses (enforced through laws) are unnatural restrictions, other creators and users of open source software recognize it to be one model among many for software creation, licensing, and distribution. And the laws themselves are put into place for the ostensible purpose of increasing creative output, by allowing the creators to control and profit most effectively from their intellectual property.

Design and implementation

Design and implementation of software varies depending on the complexity of the software. For instance design and creation of Microsoft Word software will take much longer time than designing and developing Microsoft Notepad because of the difference in functionalities in each one.

Software is usually designed and created (coded/written/programmed) in integrated development environments (IDE) like emacs, xemacs, Microsoft Visual Studio and Eclipse that can simplify the process and compile the program. As noted in different section, software is usually created on top of existing software and the application programming interface (API) that the underlying software provides like GTK+, JavaBeans or Swing. Libraries (APIs) are categorized for different purposes. For instance JavaBeans library is used for designing enterprise applications, Windows Forms library is used for designing graphical user interface (GUI) applications like Microsoft Word and Windows Communication Foundation is used for designing web services. There are also underlying concepts in computer programming like quicksort, hashtable, array, binary tree that can be useful to creating software. When a program is designed, it relies on the API. For instance, if a user is designing a Microsoft Windows desktop application, he/she might use the .NET Windows Forms library to design the desktop application and call its APIs like Form1.Close() and Form1.Show() to close or open the application and write the additional operations him/herself that it need to have. Without these APIs, the programmer needs to write these APIs him/herself. Companies like Sun Microsystems, Novell and Microsoft provide their own APIs so that many applications are written using their software libraries that usually have numerous APIs in them.

Software has special economic characteristics that make its design, creation, and distribution different from most other economic goods.[7][8]

A title of a person who creates software is called a programmer, software engineer, software developer and code monkey that all essentially have a same meaning.

Industry and organizations

Software has its own niche industry that is called the software industry made up of different entities and peoples that produce software, and as a result there are many software companies and programmers in the world. Because software is increasingly used in many different areas like in finance, searching, mathematics, space exploration, gaming and mining and such, software companies and people usually specialize in certain areas. For instance, Electronic Arts primarily creates video games.

Also selling software can be quite a profitable industry. For instance, Bill Gates, the founder of Microsoft is the second richest man in the world in 2008 largely by selling the Microsoft Windows and Microsoft Office software programs. The same goes for Larry Ellison, largely through his Oracle database software.

There are also many non-profit software organizations like the Free Software Foundation, GNU Project, Mozilla Foundation. Also there are many software standard organizations like the W3C, IETF and others that try to come up with a software standard so that many software can work and interoperate with each other like through standards such as XML, HTML, HTTP or FTP.

Some of the well known software companies include Microsoft, Apple, IBM, Oracle, Novell, SAP and HP.

References

  1. ^ "Wordreference.com: WordNet 2.0". Princeton University, Princeton, NJ. http://www.wordreference.com/definition/software. Retrieved on 2007-08-19. 
  2. ^ The Complete Software testing Theory, Rao. Vinayak 2008 MBA Test Engineer
  3. ^ software..(n.d.). Dictionary.com Unabridged (v 1.1). Retrieved 2007-04-13, from Dictionary.com website: http://dictionary.reference.com/browse/software
  4. ^ "John Tukey, 85, Statistician; Coined the Word 'Software'". New York Times. 2000-07-28. http://query.nytimes.com/gst/fullpage.html?res=9500E4DA173DF93BA15754C0A9669C8B63. 
  5. ^ 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.
  6. ^ GNU project: "Selling Free Software": "we encourage people who redistribute free software to charge as much as they wish or can."
  7. ^ v. Engelhardt, Sebastian (2008): "The Economic Properties of Software", Jena Economic Research Papers, Volume 2 (2008), Number 2008-045. (in Adobe pdf format)
  8. ^ "Why Open Source Is The Optimum Economic Paradigm for Software" by Dan Kaminsky 1999

 
Misspellings: software
Top

Common misspelling(s) of software

  • sofware

 
Translations: Software
Top

Dansk (Danish)
n. - software, programmel, dataprogrammel

Nederlands (Dutch)
software, programmatuur

Français (French)
n. - logiciel

Deutsch (German)
n. - Software

Ελληνική (Greek)
n. - (Η/Υ) λογισμικό, προγράμματα

Italiano (Italian)
software

Português (Portuguese)
n. - software (m)

Русский (Russian)
программное или математическое обеспечение, программные средства

Español (Spanish)
n. - software, programática

Svenska (Swedish)
n. - mjukvara, programvara

中文(简体)(Chinese (Simplified))
软件, 程序材料

中文(繁體)(Chinese (Traditional))
n. - 軟體, 程式材料

한국어 (Korean)
n. - (컴퓨터) 소프트웨어, 상품 따위의 부가가치를 높이기 위한 수단, (우주선 등의) 도면

日本語 (Japanese)
n. - ソフトウェア

العربيه (Arabic)
‏(الاسم) برامج للعقل ألألكتروني‏

עברית (Hebrew)
n. - ‮תוכנה‬


 
 

Did you mean: software, Software AG, Software (New Age Band, '80s, '90s), software (technology), Software (novel), Software (album), Software (2002 Album by Jan Allan) More...


 

Copyrights:

Dictionary. The American Heritage® Dictionary of the English Language, Fourth Edition Copyright © 2007, 2000 by Houghton Mifflin Company. Updated in 2007. Published by Houghton Mifflin Company. All rights reserved.  Read more
Sci-Tech Encyclopedia. McGraw-Hill Encyclopedia of Science and Technology. Copyright © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.  Read more
Modern Science. The Dictionary of Cultural Literacy, Second Edition, Revised and updated Edited by E.D. Hirsch, Jr., Joseph F. Kett, and James Trefil. Copyright © 1993 by Houghton Mifflin Company . All rights reserved.  Read more
Marketing Dictionary. Dictionary of Marketing Terms. Copyright © 2000 by Barron's Educational Series, Inc. All rights reserved.  Read more
Accounting Dictionary. Dictionary of Accounting Terms. Copyright © 2005 by Barron's Educational Series, Inc. All rights reserved.  Read more
Business Encyclopedia. Encyclopedia of Business and Finance. Copyright © 2001 by The Gale Group, Inc. All rights reserved.  Read more
Word Origin. America in So Many Words, by David K.Barnhart and Allan A. Metcalf. Copyright © 1997 by Houghton Mifflin Company. Published by Houghton Mifflin Company. All rights reserved.  Read more
Dental Dictionary. Mosby's Dental Dictionary. Copyright © 2004 by Elsevier, Inc. All rights reserved.  Read more
US Military Dictionary. The Oxford Essential Dictionary of the U.S. Military. Copyright © 2001, 2002 by Oxford University Press, Inc. All rights reserved.  Read more
Britannica Concise Encyclopedia. Britannica Concise Encyclopedia. © 2006 Encyclopædia Britannica, Inc. All rights reserved.  Read more
Philosophy Dictionary. The Oxford Dictionary of Philosophy. Copyright © 1994, 1996, 2005 by Oxford University Press. All rights reserved.  Read more
Law Encyclopedia. West's Encyclopedia of American Law. Copyright © 1998 by The Gale Group, Inc. All rights reserved.  Read more
Word Tutor. Copyright © 2004-present by eSpindle Learning, a 501(c) nonprofit organization. All rights reserved.
eSpindle provides personalized spelling and vocabulary tutoring online; free trial Read more
Wikipedia. This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "Computer software" Read more
Answers Corporation Misspellings. © 1999-2009 by Answers Corporation. All rights reserved.  Read more
Translations. Copyright © 2007, WizCom Technologies Ltd. All rights reserved.  Read more