Home >> Computers >> Programming >> Languages >> Lisp >> Scheme >> Software


  Implementations
       


Software (or even only computer software) is basically the computer program encoded in such a fashion that a program (the instruction placed) contents may be changed by having minimum effort. Package could keep close at hand various functions like controlling hardware, performing computations, communication with more package, person interaction, etc; 100% of which are then prescribed in the program.

A term "software" was 1st utilized therein feel by John W. Tukey in 1957; computer science and software engineering, computer software is all information processed by computer system, programs and data. A conception of package was number 1 proposed by Alan Turing in an essay.

Relationship to hardware

Computer software is so known as around counterpoint to computer hardware, which is the physical substrate which stores & executes (or even "runs") a software package.

Software has historically been considered an intermediary between electronic devices & information, which a devices processes someway, based on data from videos defined per software system. Further specifically it has been considered to become the conceptual interface composed of the binary representation of electronics-readable code or even logic. the purpose of computer software is to drive a project, run, or even computation to exist as performed. a project potty include a retrieval, storage, or even even display of facts, or the transformation of information from either 1 form to a second.

When computational science becomes more & more complex, a distinction between package and information becomes less accurate. Informationorth has usually been considered to exist as either a output of or even input for computer software (n.b. that "data" is non a merely imaginable output or even input; e.g., configuration trading tools can besides exist as considered input, though non necessarily considered to exist as information). a output of a particular piece of computer package can be the input for an additional piece of software. So, package can become considered to be an interface between devices, information, or even software system.

These are usually accepted that software program interfaces by using electronic hardware, or even electronics. A terms electronics recently may be defined to include gear which use at times biological components or even biological interfaces. Videos filtered by an electronic device which induce the muscle to contract, e.g., can be considered software package. the instruction from either a electronic device to a muscle will as well become considered software package because these are the output, a project, of electronics decipherable code or even logic.

System and application software

Practical adps divide computer software formulas into deuce major classes: system software and application software, although the distinction is somewhat arbitrary, & typically blurred.

Software program and library
Software program is usually a directly executable part of a software system. Software libraries are software components that are utilized by have-alone software online, however which just can't exist as executed in their have.

Users see three layers of software

Users typically look at items other than than software engineer. Humans world health organization utilize modern general purpose computers (when opposed to embedded systems) usually underst& triad shells of software system program performing the kind of tasks: platform, application, and user software.

; Platform software program : Platform includes a basic input-output system (often described when firmware rather than software), device drivers, an operating system, & often a gui which, inside amount, allow the user to interact sustaining the computer and its peripherals (associated equipment). Platform package typically comes bundled by having a computer, & users might not understand that it is or even that it have a guide to apply different platform software package.

; Application software program : Applications are what most humans believe of while it believe of software program. Average examples include professional suites & computer game. Application package is typically purchased severally from either hardware. Periodically applications come bundled sustaining a computer, however that doesn't vary a fact that it redo when independent applications. Applications come all but universally independent software online from either a operating patterns, though it is typically tailored for specific platforms. Virtually all users believe of compilers, databases, & more "system software" when applications.

; User-written software package package : User software tailors systems to meet the users specific needs. User package include spreadsheet templet, word processor macro instruction, scientific simulations, graphics & animation scripts. Potentially e-mail purification come the sort of user software package. Users produce this software package themselves & typically overlook how important these are.

Look at as well: Software architecture.

Software creation

Package is created using programming languages and related utilities, which can came around many of the above forms: only software download prefer script interpreters, packages containing a compiler, linker, & more information; and big suites (typically known as Integrated Development Environments) that include editors, debuggers, and more information for multiple languages. Understand likewise: Computer programming, Software engineering, Software architecture

Software in operation

Software has to exist as "loaded" into a computer's storage (also known as memory and RAM).

It used to be that a package is loaded, a computer is entity to work a software program. Computers work by executing a computer program. This involves passing instructions from the application package, through the technique software system, to the hardware which ultimately receives a instruction when machine code. For each one instruction is a causal agent of the computer to carry out an operation -- moving data, carrying out a computation, or altering a flow of videos.

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

Software quality and reliability

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

Look at Software quality, Software testing, and Software reliability.

Software patents

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

Psd
A portable debugger for the Scheme language. It presents the user with an interactive interface that lets him or her examine and change values of variables, set breakpoints, and single step evaluation. Psd is designed to be run within GNU Emacs, which is used for displaying the current source code position.

SLIB
A portable Scheme library providing compatibility and utility functions for standard Scheme implementations. By Audrey Jaffer, author of SCM.

ModuLite
A module proposal for Scheme by Audrey Jaffer.

SIMSYNCH
A digital logic simulator written for the SCM Scheme implementation.

HITCH and INFOBAR
HITCH (HIghlighT CHanges) highlights changes between two sets of HTML pages in red. INFOBAR annotates changes between GNU Info files with change-bars.

JACAL
An interactive symbolic mathematics program. It can manipulate and simplify equations, scalars, vectors, and matrices of single and multiple valued algebraic expressions containing numbers, variables, radicals, and algebraic differential, and holonomic functions.

Grover,
A implementation for Scheme. Directed, acyclic graphs of nodes, which have properties, and can be used with XML or SGML.

Schism
A partial evaluator for a pure (side effect free) subset of Scheme, written primarily by Charles Consel. Some of its main features are polyvariant binding-time analysis, treatment of higher-order functions and partially static data structures, colored binding-time information based on GNU emacs (19.30 or later), and a binding-time inspector. The current version is 010 and requires an R4RS Scheme and the SLIB library.

The Program Generator Generator
A partial evaluation system for Scheme: Given a program P and a specification of which of the inputs are known in advance, PGG outputs a program generator which accepts the known inputs of P and outputs a specialized version of P. PGG is fully automatic and can process all valid Scheme programs.

Essence
A generator for LR(k) and SLR(k) parsers in Scheme. The generated parsers perform error recovery, and are highly efficient. They result from the general parser by an automatic program transformation called partial evaluation. This guarantees consistency and ensures correctness. However, no specific knowledge of partial evaluation is required to use Essence. From Michael Sperber [Mr. Preprocessor] and Peter Thiemann.


Computers: Programming: Languages: Lisp: Software






© 2005 GeneralAnswers.org