El programado declarativo es un término con dos significados distintos, que están en uso actual.

Según una definición, un programa es " declarative" si describe el como qué algo es, algo que el cómo crearlo. Por ejemplo, los Web pages del HTML son declarativos porque describen el qué la página debe contener el — título, texto, &mdash de las imágenes; pero no cómo exhibir realmente la página en una pantalla de ordenador. Esto es un diverso acercamiento de idiomas programadas imprescindible tales como FORTRAN, C, y Java, que requieren a programador especificar un algoritmo que se funcionará. En fin, los programas imprescindible especifican explícitamente un algoritmo para alcanzar una meta, mientras que los programas declarativos especifican explícitamente la meta y dejan la puesta en práctica del algoritmo al software de ayuda (por ejemplo, una declaración del SQL select especifica las características de los datos que se extraerán de una base de datos, no del proceso de extraer los datos).

Según una diversa definición, un programa es " declarative" si se escribe en puramente una lengua de la programación funcional, lengua de la programación de lógica, o lengua de la programación de constreñimiento . El " de la frase; language" declarativo; se utiliza a veces para describir todos los lenguajes de programación tales como un grupo, y para ponerlos en contraste contra idiomas imprescindible.

Estas dos definiciones se traslapan algo. Particularmente, programación de constreñimiento y, a un poco grado, programación de lógica, foco en la descripción de las características de la solución deseada (el qué ), saliendo sin especificar del algoritmo real que se debe utilizar para encontrar esa solución (el cómo ). Sin embargo, la mayoría de la lógica y de las idiomas del constreñimiento pueden describir algoritmos y los detalles de puesta en práctica, así que no son terminantemente declarativas por la primera definición.

Semejantemente, es posible escribir programas en un estilo declarativo incluso en un lenguaje de programación imprescindible. Esto es hecha generalmente por el que encapsula los detalles no explicativos de dentro de una biblioteca o de un marco. Un ejemplo de este estilo es el uso de la reflexión en el marco de la prueba de la unidad de JUnit, que permite que las pruebas de la unidad sean colocadas con el marco simplemente por la definición.

En un programa declarativo usted escribe (declarar) una estructura de datos que sea procesada por un algoritmo estándar (para esa lengua) para producir el resultado deseado.

Una lengua declarativa, como todas las idiomas, tiene la descripción de un sintaxis de cómo las palabras en la lengua pueden ser combinadas, y una semántica el describir de cómo las oraciones en la lengua corresponden a la salida de un programa.

Idiomas Domain-specific

Una forma popular de programación declarativa es su uso en idiomas domain-specific (DSLs). " Domain" en este caso refiere al " dominio del discourse" — el tema que la lengua se piensa para describir. Los ejemplos de DSLs son las hojas de balance de los archivos de configuración e incluso email (el " De: " y " Para: " los jefes se pueden ver como instrucciones de proceso).

Una desventaja de DSLs es que no son a menudo el Turing-completo. Es decir, hay ciertas cosas que no pueden hacer. Apenas pues usted no puede utilizar una hoja de balance para enviar el email, usted no puede utilizar el email para calcular su balance bancario. Por esta razón, DSLs es a veces encajado dentro de un lenguaje de programación de fines generales. Esto permite que un programador utilice el DSL para los problemas que juegan a sus fuerzas, y utiliza la lengua de fines generales para los problemas que son difíciles o imposibles en el DSL.

&mdash independiente de DSLs; ésos no encajados en un &mdash de la lengua de fines generales; ser a menudo más fácil de utilizar que un equivalente encajado, puesto que evitan la complejidad conceptual agregada impuesta por la lengua de fines generales.

Ejemplos



:Categoría: Los lenguajes de programación declarativos intentan proporcionar una lista exhaustiva.

Armazones cuyo despliegue tiene aspectos programados declarativos:

JUnit

Idiomas Domain-specific que apoyan la programación declarativa:
el XSLT del

es una lengua declarativa para los documentos de transformación XML
El SQL tiene una pieza declarativa para las preguntas de la base de datis relacional
Disolvente del TK
El XForms es un formato XML para la especificación de un modelo de proceso de datos para los datos de XML y el interfaz utilizador (s) para los datos de XML, tales como formas de la tela.

Funcional/lógica/lenguajes el de programación de constreñimiento que apoyan la programación declarativa:

funcional: El Erlang, el Haskell y el balbucean
Lógica: Prólogo, Mercury
Constreñimiento: onza, varias extensiones del prólogo (como eclipse o SICSTUS)

Ver también

Lenguaje de programación declarativo para los lenguajes de programación que apoyan la programación declarativa
Programación de computadora para programar en general
Paradigma programado para los paradigmas programados en general programado imprescindible que en cambio concentra en estado de manipulación
programado procesal que en cambio concentra en secuencias de pasos para seguir
Reglas de negocio
Lenguaje de programación Domain-specific

.

  • Zenithic
  • Jack Starr (blues guitarist)
    Random links:Nacimiento de trasero | Cráter de Tswaing | Colocar a jugador | Stargate SG-1 (juego de roleplaying) | Jamie O'Neill

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">