FACTOID # 14: If you like kids, then Uganda might be the place for you. Half the population is under 15!
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Declarative programming language

In computer science, a declarative programming language is a high-level language that describes a problem rather than defining a solution — it makes use of declarative programming. A declarative programming language says "what", while an imperative programming language says "how". Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ... A high-level programming language is a programming language that is more user-friendly, to some extent platform-independent, and abstract from low-level computer processor operations such as memory accesses. ... Declarative programming is a term with two distinct meanings, both of which are in current use. ... In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ...


Declarative programming languages can be declarative in a variety of ways. Logic programming languages, such as Prolog, are declarative in that the programmer states relationships and asks a question about those relationships — without defining how to compute the answer. Functional programming languages are declarative in that functions relate their output to their input — without defining a strict order to evaluate any operations. Data-oriented programming languages and query languages are declarative in that queries are not given in terms of how to find data but instead give criteria for the desired data (SQL and regular expressions are examples). Logic programming (which might better be called logical programming by analogy with mathematical programming and linear programming) is, in its broadest sense, the use of mathematical logic for computer programming. ... Prolog is a logic programming language. ... Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions. ... Query languages are computer languages used to make queries into databases and information systems. ... SQL (IPA: or ), commonly expanded as Structured Query Language, is a computer language designed for the retrieval and management of data in relational database management systems, database schema creation and modification, and database object access control management. ... A regular expression (abbreviated as regexp, regex or regxp) is a string that describes or matches a set of strings, according to certain syntax rules. ...


There are a number of completely declarative languages. Examples include interface description languages (IDLs), which are often declarative, as they specify relationships without specifying computation. Other examples include frame languages, and ontology languages, such as OWL and CycL, which are used to encode knowledge about relationships. An interface description language (or alternately, interface definition language), or IDL for short, is a computer language used to describe a software components interface. ... Frame language is a metalanguage. ... In computer science, an ontology is the attempt to formulate an exhaustive and rigorous conceptual schema within a given domain, a typically hierarchical data structure containing all the relevant entities and their relationships and rules (theorems, regulations) within that domain. ... The Web Ontology Language (OWL) is a language for defining and instantiating Web ontologies. ... CycL was originally a frame language used by Doug Lenats Cyc Artificial Intelligence project. ...


Purely declarative languages, in general, do not "compute" anything; rather, they specify relationships. These relationships are then commonly used to perform computation. Thus, for example, in an ontology language beased on first-order logic, the predicate isHuman(X) can be used to perform the computation that isHuman(Socrates) is true. Another example is provided by VRML, the virtual reality markup language, a 3D scene description language. In this language, a "rotating" declarative can be used to assert that an object spins. When drawn visually, the object is meant to be drawn as spinning. First-order logic (FOL) is a formal deductive system used by mathematicians, philosophers, linguists, and computer scientists. ... Look up predicate in Wiktionary, the free dictionary. ... VRML (Virtual Reality Modeling Language, pronounced vermal or by its initials, originally known as the Virtual Reality Markup Language) is a standard file format for representing 3-dimensional (3D) interactive vector graphics, designed particularly with the World Wide Web in mind. ... This article is about the simulation technology. ...


The distinctions are never sharp; Prolog can be used to compute explicitly, by use of recursive rules and the cut operator. Functions that aren't purely functional or make use of a monad (by being in CPS or using I/O) do strictly sequence operations. SQL's INSERT and DELETE commands are dependent on sequence. On the other hand, assembly language, the lowest level programming language, may have declarative aspects — static memory allocation and macros, for example. Purely functional is a term in computing used to describe algorithms, data structures or programming languages that exclude destructive modifications (updates). ... Wikibooks Haskell has a page on the topic of Understanding monads Some functional programming languages make use of monads[1] [2] to structure programs which include operations that must be executed in a specific order. ... Continuation passing style (CPS) is a term used within functional programming to describe a style of programming wherein functions never return. ... Energy Input: The energy placed into a reaction. ... See the terminology section, below, regarding inconsistent use of the terms assembly and assembler. ... Static memory allocation refers to the process of allocating memory at compile-time before the associated program is executed, unlike dynamic memory allocation or automatic memory allocation where memory is allocated as required at run-time. ... For other uses, see Macro (disambiguation) A macro in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to an output sequence (also often a sequence of characters) according to a defined procedure. ...


Examples of declarative programming in action

  • Declarative redesign of a pocket calculator (Thimbleby, Harold. "A new calculator and why it is necessary", Middlesex University 1998)

  Results from FactBites:
 
Declarative programming language - Wikipedia, the free encyclopedia (335 words)
A declarative programming language is a high-level language that describes a problem rather than defining a solution — it makes use of declarative programming.
Functional programming languages are declarative in that functions relate their output to their input — without defining a strict order to evaluate any operations.
Data-oriented programming languages and query languages are declarative in that queries are not given in terms of how to find data but instead give criteria for the desired data (SQL is an example).
Declarative programming - Wikipedia, the free encyclopedia (710 words)
This is a different approach from imperative programming languages such as Fortran, C, and Java, which require the programmer to specify an algorithm to be run.
In a declarative program you write (declare) a data structure that is processed by a standard algorithm (for that language) to produce the desired result.
A declarative language, like all languages, has a syntax describing how the words in the language may be combined, and a semantics describing how sentences in the language correspond to the programs output.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.