Pregunta

Estoy disfrutando de la href="http://puppetlabs.com" rel="nofollow noreferrer"> títere declarativa modelo

Programa I en pitón Actualmente, sin embargo, y tiendo a pensar imperativamente mientras lo hace. Es igual que mi problema con el diseño gráfico: Yo sé lo que me gusta ver en un producto final, pero no tienen idea de cómo montarlo.

¿Cómo puedo estructurar las cosas de manera que el código sería declarativa? Lo que se toman medidas iniciales si la solución es ser reconocible "declarativa?"

funcional, declarativa y la programación imperativa Acabo de leer esto, trayendo visión, un poco.

No es suficiente, sin embargo, no se puede poner en palabras exactamente, mi confusión: (

Edit: Las palabras tienen llegado: Los ejemplos que se dan para la declaración siempre se dan en términos de alguna otra cosa alto nivel:

Regexen son declarativas, seguro, pero que hacen que el motor fuera de C

Hacer es declarativa, sin duda, pero que está escrito en C.

mainifests de marionetas son declarativas, por supuesto, pero el código Ruby no lo es.

Así que en qué momento qué digo: "Ok, aquí es los métodos, ahora puedo empezar la parte declarativa"

¿Fue útil?

Solución

Cuando en un lenguaje funcional, escribir en un estilo funcional, cuando en la escritura en un lenguaje imperativo en un estilo imperativo, y cuando en un lenguaje declarativo, escribir en un estilo declarativo.

Como por encima (con exclusión de todos los estilos "transversales" permitido), cuando se escribe en un idioma que escribir en el estilo de una lengua. En el caso de la escritura 'declartively' en un lenguaje 'imperativo' o 'funcional' esto generalmente romper hacia abajo para escribir un DSL declarativa y / o API sin cambiar realmente el estilo fundamental usada para exponer (o pegamento aún) dijo declarativa de usar DSL / API.

Por ejemplo, make (o cualquier número de XML-idiomas como ant) son sólo declarativas DSL (con un poco de visión borrosa). La lengua de acogida no es importante. Esto se puede generalizar para casi todos los lenguajes principales Turing completo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top