Warning: mkdir() [
function.mkdir]: Permission denied in
/home/webs/affiliatelib2/CacheManager.php on line
12
Warning: mkdir() [
function.mkdir]: No such file or directory in
/home/webs/affiliatelib2/CacheManager.php on line
12
Warning: fopen(/home/templatecore2cache//*cluesnet.com/ec/ec5aa823ab097df6e52dd0302a8222a221bdf6ab.tc2cache) [
function.fopen]: failed to open stream: No such file or directory in
/home/webs/affiliatelib2/CacheManager.php on line
130
Warning: fwrite(): supplied argument is not a valid stream resource in
/home/webs/affiliatelib2/CacheManager.php on line
131
Warning: fclose(): supplied argument is not a valid stream resource in
/home/webs/affiliatelib2/CacheManager.php on line
132
A
computer program is one or more instructions that are intended for execution by a computer. Specifically, it is a symbol or combination of symbols forming an algorithm that may or may not terminate, and that algorithm is written in a
programming language. "An expression of a computational method in a computer language is called a
program." {{cite book | last = Knuth
| first = Donald E.
| title = The Art of Computer Programming, Volume 1, 3rd Edition
| publisher = Addison-Wesley
| date = 1997
| location = Boston
| pages = pp.5
| id = ISBN 0-201-89683-4
--> Computer programs range from low-level assembly languages, where the algorithm is minutely dictated; through
imperative programming, where the algorithm is apparent; to high-level
declarative languages, where the algorithm is hidden in a black box.
Computer programs may be categorized along functional lines. These functional categories include
application software,
operating systems,
video games, and
compilers, among others. Computer programs
embedded software in hardware devices are called
firmware.
The formal expression of computational methods in a human-readable computer language is often referred to as source code, while the executable file expressions of computational methods are commonly referred to as
executables, binary images, or simply as
binary file — a reference to the binary numeral system
file format commonly used to store the executable code.
Terminology
Commercial computer programs aimed at
end users are commonly referred to as application software by the computer industry, as these programs are focused on the functionality of what the computer is being used
for (its
application), as opposed to being focused on system-level functionality (for example, as the Microsoft Windows operating system is). In practice, colloquially, both application software and system software may correctly be referred to as
programs, as may the more esoteric
firmware — software firmly built into an
embedded system.
==Program execution==A
computer program exists in a
source code form, viewable as a programming language; as a tokenised form, ready to be
interpreter (computing); or in
executable file form, ready to be executed. (An aside: source code form may also be interpreted.) Computer programs can be divided into two categories —
system software and application software.
System software is the
operating system that couples the
computer hardware with the application software.
Application software couples the system software with the user interface.
A computer program is loaded into memory (usually by the operating system) and then execution (computers) ("run"), instruction by instruction, until termination, either with success or through software or hardware error.
Before a computer can execute any sort of program (including the operating system, itself a program), the computer hardware must be initialized. This initialization is done in modern
personal computers by a piece of software stored on programmable read-only memory chips installed by the manufacturer, called the
BIOS. The BIOS will attempt to initialize the boot sequence, making the computer ready for higher-level program execution.
Programs vs. data
The executable form of a program (its instructions) is often treated as being different from the
data (computing) the program operates on. In some cases this distinction is blurred with programs creating, or modifying, data, which is subsequently executed as part of the same program (this is a common occurrence for programs written in Lisp programming language), see
self-modifying code.
Programming
Computer programming is the iterative process of writing or editing
source code, followed by testing, analyzing and refining this code. A person who practices this skill is referred to as a computer programmer or software developer. The sometimes lengthy process of computer programming is usually referred to as
software development, with the term
software engineering becoming more popular as the process comes to be seen as an engineering discipline.
One approach to this process is team programming, in which each member of the group has equal say in the development process, except for one person who guides the group through discrepancies. Another approach is referred to as
peer programming or
pair programming.
A program is likely to contain a variety of
data structures and a variety of different
algorithms to operate on them.
Programming languages
Computer programs are often written by people (known as computer programmers), but may also be generated by other programs - an example of
metaprogramming.
Various programming paradigms can be employed in software development. The source code of most computer programs consists of a list of instructions that explicitly implement an algorithm (known as an imperative programming style); in another form (known as
declarative programming) the characteristics of the required information are specified and the method used to obtain the results, if any, is left to the
platform (computing).Examples of programming languages include C(programming language,
JavaScript, and
Lisp programming language.
Computational methods and algorithms
Computational methods are a superset of
algorithms, and adhere to most of the characteristics of algorithms:
A computational method must be definite, meaning each step of the algorithm must be precisely defined. Formally defined computer languages meet this criterion by allowing algorithms to be specified in such a way that every statement has a very definite meaning.
A computational method must have zero or more inputs, or quantities given to it before the algorithm runs.
A computational method must have one or more outputs which are quantities produced by the method, and will bear some specified relation to the inputs.
A computational method is generally expected to be effective, meaning that its operations can be performed by hand, accurately and exactly, in a finite amount of time.
Although algorithms are defined to be
finite, meaning they must complete in a finite number of steps, computational methods do not have to adhere to this restriction. A computational method theoretically does not have to stop running. Non-finite processes are common in
reactive processes, such as operating systems that continually interact with their environment.{{cite book | last = Knuth
| first = Donald E.
| title = The Art of Computer Programming, Volume 1, 3rd Edition
| publisher = Addison-Wesley
| date = 1997
| location = Boston
| pages = pp.4-5
| id = ISBN 0-201-89683-4
-->
References
Further reading
|last=Knuth
|first=Donald E.
|year=
|title=The Art of Computer Programming, Vol. 2, 3rd Ed
|publisher=Addison-Wesley
|id=ISBN 0-201-89684-2
-->
|last=Knuth
|first=Donald E.
|year=
|title=The Art of Computer Programming, Vol. 3, 3rd Ed
|publisher=Addison-Wesley
|id=ISBN 0-201-89685-0
-->
External links
- Definition of "Program" at Webopedia
- Definition of "Software" at FOLDOC
Computer Physics Communications Program Library
CPC Program Library containing over 1800 refereed programs in computational physics and physical chemistry which are described in the journal Computer Physics Communications ...
CPC Program Library
Quick Search
Computer program - Wikipedia, the free encyclopedia
Computer programs (also software programs, or just programs) are instructions for a computer. [1]. A computer requires programs to function. Moreover, a computer program does not ...
Computer programming - Wikipedia, the free encyclopedia
Computer programming (often shortened to programming or coding), sometimes considered a branch of applied mathematics, is the process of writing, testing, debugging/troubleshooting ...
Computer Programs
Computer Programs What are these Programs. They are some fairly trivial, but useful, utility programs I have written in Perl. What Programs are here?
software from FOLDOC
computer program ==> software < programming > (Or "computer program", "program", "code") The instructions executed by a computer, as opposed to the physical device on which they ...
The Copyright (Computer Programs) Regulations 1992
Crown Copyright 1992. The legislation contained on this web site is subject to Crown Copyright protection. It may be reproduced free of charge provided that it is reproduced ...
Computer programs implementing statistical methods for research and ...
Computer programs implementing statistical methods for research and practice in clinical neuropsychology.
SCADPlus: Legal protection: Computer programs
This Directive aims to harmonise Member States' legislation regarding the protection of computer programs in order to create a legal environment which will afford a degree of ...
Amazon.co.uk: Structure and Interpretation of Computer Programs, 2nd ...
Amazon.co.uk: Structure and Interpretation of Computer Programs, 2nd Edition (Mit Electrical Engineering and Computer Science Series.): Harold Abelson, Gerald Jay Sussman: ... ...