Shopping on line can be easy, simple and save you lots of money. It can also take a lot of your time, frustrate you, and result in unwanted purchases. Now the same can be said for regular high street shopping, but with the vast opportunity presented by the Internet it will pay you to spend a few minutes reading this and understanding how to better optimize your Computer Software shopping experience:
1. Compare - without doubt the biggest advantage that the Computer Software offers shoppers today is the ability to compare thousands of Computer Software at a time. This is a great thing, but not necessarily all the time! Too much can be daunting at times so take advantage of the great comparison sites and where possible let them do the hard work for you.
2. Research - if it has been said it will be on the internet. Ignorance is no longer a justifiable reason for buying the wrong thing. Take the time to research in detail everything that you could possible want to know about
3. Testimonials - don't know anybody that has bought a Computer Software? Wrong! If the Computer Software is good the internet will let you know. Use the Internet as a friend and get testimonials before you buy.
4. Questions - Got a question about Computer Software then search the Forums, FAQ's, Blogs etc. Don't be afraid to ask .....
5. Reputation - Never heard of the company selling Computer Software? Don't worry, no reason why you should know every company in the world, but you know someone that does! Use the internet to find out what people are saying about Computer Software and build up a picture of their reputation for sales, returns, customer service, delivery etc.
6. Returns - still worried that even after all of the above your Computer Software wont be what you want? Check out the returns policy. There is so much competition now that someone, somewhere is bound to offer the terms that you are comfortable with.
7. Feedback - happy with your Computer Software then let people know, after all you are depending on others people input in your buying decision, so why not give a little back.
8. Security - check for the yellow padlock on the Computer Software site before you buy, and the s after http:/ /i.e. https:// = a secure site
9. Contact - got a question about Computer Software, or want to leave a comment then check out the sites contact page. Reputable companies have them and respond.
10. Payment - ready to pay for your Computer Software, then use your credit card or PayPal! Be aware of companies that don't accept them, there may be genuine reasons but given the huge amount of choice you have when buying online there is no reason at all not to buy via credit card or PayPal.
Computer software is a general term used to describe a
collection of
computer programs, procedures and documentation that perform some task on a computer system.{{cite web] 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 computing.
Terminology
The term "software" is sometimes used in a broader context to describe any electronic media content which embodies expressions of ideas such as film, tapes, records, etc.software. (n.d.).
Dictionary.com Unabridged (v 1.1). Retrieved 2007-04-13, from Dictionary.com website: http://dictionary.reference.com/browse/software of computer software - AbiWord.
Relationship to computer 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. In computers, software is loaded into Random access memory 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 (
object code), 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
compiler or
interpreter (computing) 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
assembly language#Assembler.
The term "software" was first used in this sense by
John W. Tukey in
1958.John Tukey, 85, Statistician; Coined the Word 'Software',
New York Times, Obituaries,
2000-07-28. In
computer science and software engineering,
computer software is all computer programs. The concept of reading different sequences of instructions into the
Memory (computers) of a device to control computations was invented by
Charles Babbage as part of his difference engine. 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.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.
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.
- System software helps run the computer hardware and computer system. It includes operating systems, device drivers, diagnostic tools, Server (computing)s, windowing systems, software utility and more. The purpose of systems software is to insulate the applications programmer as much as possible from the details of the particular computer complex being used, especially memory and other hardware features, and such accessory devices as communications, printers, readers, displays, keyboards, etc.
- 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 text editors, compilers, interpreter (computing), linkers, debuggers, and so on. An Integrated development environment (IDE) merges those tools into a software bundle, and a programmer may not need to type multiple commands for compiling, interpreter, debugging, tracing, and etc., because the IDE usually has an advanced graphical user interface, or GUI.
- Application software allows end users to accomplish one or more specific (non-computer related) tasks. Typical applications include Industry automation, business software, educational software, medical software, databases, and computer games. Businesses are probably the biggest users of application software, but almost every field of human activity now uses some form of application software. It is used to automate all sorts of functions.
Program and library
A Computer 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
event-driven programming and/or perform some function (e.g., of computer 'housekeeping') but do not return data to their calling program. Programs may be
Execution (computers) by one to many other programs; programs may call zero to many other programs.
Three layers
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 (computing) 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 Personal computer 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.
Creation
Operation
Computer software has to be "loaded" into the
computer storage (such as a
hard drive,
memory, or
RAM). Once the software is loaded, the computer is able to execute the software. Computers operate by
executing the
computer program. This involves passing instruction (computer science) from the application software, through the system software, to the
hardware which ultimately receives the instruction as machine language. Each instruction causes the computer to carry out an operation -- moving data (computing), 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.
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 (programming). When more than one computer processor is used, instructions may be executed simultaneously.
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.
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.
Kinds of software by operation: computer program as
executable, source code or
script (computer programming),
computer configuration.
Quality and reliability
Software reliability considers the errors, faults, and failures related to the creation and operation of software.
See
Computer security audit,
Software quality,
Software testing, and
Software reliability.
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.
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.
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 former philosophy is somewhat derived from the "
hacker ethic" that was common in the 60s and 70s.
See also
References
External links
Open Dictionary
Computer software is a general term used to describe a
collection of computer programs, procedures and documentation that perform some task on a computer system.{{cite web] 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 computing.
Terminology
The term "software" is sometimes used in a broader context to describe any
electronic media content which embodies expressions of ideas such as film, tapes, records, etc.software. (n.d.).
Dictionary.com Unabridged (v 1.1). Retrieved 2007-04-13, from Dictionary.com website: http://dictionary.reference.com/browse/software of computer software - AbiWord.
Relationship to computer 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. In computers, software is loaded into Random access memory 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 (
object code), 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
compiler or
interpreter (computing) 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
assembly language#Assembler.
The term "software" was first used in this sense by
John W. Tukey in
1958.John Tukey, 85, Statistician; Coined the Word 'Software',
New York Times, Obituaries, 2000-07-28. In computer science and software engineering,
computer software is all computer programs. The concept of reading different sequences of instructions into the Memory (computers) of a device to control computations was invented by
Charles Babbage as part of his
difference engine. 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.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.
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.
- System software helps run the computer hardware and computer system. It includes operating systems, device drivers, diagnostic tools, Server (computing)s, windowing systems, software utility and more. The purpose of systems software is to insulate the applications programmer as much as possible from the details of the particular computer complex being used, especially memory and other hardware features, and such accessory devices as communications, printers, readers, displays, keyboards, etc.
- 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 text editors, compilers, interpreter (computing), linkers, debuggers, and so on. An Integrated development environment (IDE) merges those tools into a software bundle, and a programmer may not need to type multiple commands for compiling, interpreter, debugging, tracing, and etc., because the IDE usually has an advanced graphical user interface, or GUI.
- Application software allows end users to accomplish one or more specific (non-computer related) tasks. Typical applications include Industry automation, business software, educational software, medical software, databases, and computer games. Businesses are probably the biggest users of application software, but almost every field of human activity now uses some form of application software. It is used to automate all sorts of functions.
Program and library
A Computer 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 event-driven programming and/or perform some function (e.g., of computer 'housekeeping') but do not return data to their calling program. Programs may be Execution (computers) by one to many other programs; programs may call zero to many other programs.
Three layers
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 (computing) 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 Personal computer 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.
Creation
Operation
Computer software has to be "loaded" into the
computer storage (such as a
hard drive,
memory, or
RAM). Once the software is loaded, the computer is able to execute the software. Computers operate by
executing the computer program. This involves passing
instruction (computer science) from the application software, through the system software, to the
hardware which ultimately receives the instruction as
machine language. Each instruction causes the computer to carry out an operation -- moving
data (computing), 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.
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 (programming). When more than one computer processor is used, instructions may be executed simultaneously.
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.
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.
Kinds of software by operation:
computer program as
executable,
source code or
script (computer programming), computer configuration.
Quality and reliability
Software reliability considers the errors, faults, and failures related to the creation and operation of software.
See
Computer security audit,
Software quality,
Software testing, and
Software reliability.
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.
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.
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 former philosophy is somewhat derived from the "hacker ethic" that was common in the 60s and 70s.
See also
References
External links
Open Dictionary
Computer Software Group (CS Group)
Provides AIM Evolution and LPS customers with the ability to report and monitor their incidents as well as search for known problems.
Computer Software Group
Fundraising and charity software systems (UK).
BBC NEWS | Business | Computer software terms 'unfair'
Some of the world's biggest computer firms are accused of imposing unfair contracts on people buying software.
Ecommerce, Web design, Web site design, Hereford, Herefordshire, Black ...
Ecommerce Hereford, web design Hereford, Herefordshire, from Black Hill Computer Software ... Welcome. Welcome to Black Hill Computer Software. We are a small company, supplying ...
Computer Software Configuration Item from FOLDOC
Computer Software Configuration Item < jargon, software > (CSCI) The thing that a change control request is requesting to be changed. (2000-09-06)
Computer software: the basics | Business Link
Understand the different types of software and get the right programs for your business needs ... Actions. Find online courses on software and computing on the learndirect website ...
Computer Software News | ComputerWeekly.com
Software news from ComputerWeekly.com. Stay ahead with the latest computer software news, resources, case studies, comment and video.
Computer Software, Compare reviews of PC and Computer Software
Contributed unfiltered consumer reviews on all types of computer software.
Amazon.co.uk: Testing Computer Software: Cem Kaner, Jack Falk, Hung Q ...
Amazon.co.uk: Testing Computer Software: Cem Kaner, Jack Falk, Hung Q. Nguyen: Books ... Availability: In stock. Dispatched from and sold by Amazon.co.uk. Gift-wrap available.
Computer Games Software Engineering BSc (Hons) - Course Information ...
Computer Games Software Engineering BSc (Hons), University of Northumbia at Newcastle, situated in the North East of England, has two campuses, one in the centre of Newcastle upon ...