Cursos‎ > ‎Cursadas Anteriores‎ > ‎2010‎ > ‎Jueves Mañana‎ > ‎Lógico‎ > ‎Clase 1‎ > ‎

Introducción al concepto de declaratividad

A continuación ntroducimos a nuestro ejemplo la posibilidad de realizar el viaje en taxi, y de nuevo nos preguntamos qué conceptos utiliza una persona que viaja en taxi. Podemos imaginar que esa persona no requiere saber tanto de las calles como el que maneja su propio auto, es suficiente con conocer la dirección del destino e indicarlo al conductor.
Sin embargo, podemos observar que todos los conceptos en los que nosotros pensábamos antes, no han dejado de existir, en definitiva el taxi es un auto y probablemente el taxista realice el mismo camino que haríamos si condujéramos nosotros mismos.

Nos encontramos entonces con que los conceptos no desaparecieron sino que hubo una división de responsabilidades. Antes el viajero conocía su destino, elegía un camino y lo ejecutaba. Ahora sólo conoce su destino: con esa información y el conocimiento de las calles de la ciudad el conductor puede determinar el camino más adecuado.

En esta división entonces a nosotros nos interesará destacar tres partes que intervienen para resolver el problema:
  • el objetivo (ir a Campus),
  • el conocimiento (de las calles de Buenos Aires)
  • y un tercer elemento (en este caso el conductor) que sabe utilizar ese conocimiento para cumplir el objetivo.

Nos interesa este ejemplo porque una división similar a esta suele utilizarse en programación, a ese estilo de programación lo llamamos declarativo. Entonces en una pieza de software construida según esta idea encontraremos esas tres partes.

En programación al tercer elemento, el que sabe manipular el conocimiento para cumplir el objetivo, lo denominamos: motor. Dependiendo del tipo de conocimiento que queramos manipular un motor puede ser muy complejo o muy simple. Muchas herramientas modernas utilizan diferentes motores, más o menos simples. Inclusive puede ser útil construir un motor nosotros mismos en muchos casos.

De los paradigmas que vamos a aprender, hay dos que utilizan fuertemente este concepto y por eso solemos llamarlos paradigmas declarativos, sin embargo, la declaratividad o no de lo que hagamos no depende tanto de las herramientas que usemos como de la forma en que las usemos, de la misma manera que si yo me subo a un taxi y le digo esquina por esquina qué hacer, no estaría aprovechando la posibilidad de desentenderme de esa tarea.


Comments