Imagen principal

Imagen principal
Welcome ;D

lunes, 8 de noviembre de 2010

EN EL FUTUROOO :O

.:Tendencias futuras:.
Siguiendo con la reflexión expuesta en el primer capítulo de esta serie, otro fenómeno en el cual estaremos renunciando a cierto nivel de control sobre nuestros desarrollos a cambio de un incremento en nuestra productividad es la adopción de un lenguaje de tipo declarativo (también conocido como descriptivo o funcional). Este fenómeno va incluso más allá de una simple renuncia a nuestro nivel de control, también en cierto modo estamos renunciando al código. Y con esto último no sólo quiero decir que terminaremos escribiendo aplicaciones con la misma funcionalidad y menor cantidad de líneas de código, sino que además estaremos cambiando de paradigma de programación.
El repaso y análisis sobre los diferentes paradigmas de programación existentes bien merece un capítulo aparte en esta serie (y por tanto, trataré de publicarlo lo antes posible aquí), pero adelantándonos un poco a dicho capítulo, diremos que el cambio de paradigma procedimental por un paradigma declarativo implica aprender a describir qué queremos que suceda en una aplicación y dejaremos el cómo llevarlo a cabo a las capas subyacentes del compilador y la plataforma que estemos empleando.
En la programación procedimental (también conocida como imperativa y, dicho sea de paso, el uso de la palabra “procedural” es apropiado en lengua inglesa para referirnos a este concepto, pero no es una palabra reconocida por la Real Academia Española de la Lengua) generalmente debemos pensar y elaborar el cómo nosotros mismos. No hay ninguna diferencia entre el hecho de que estemos programando en ensamblador o en otro lenguaje como C, C++, C#… El modo de construir nuestro programa será articular una por una las instrucciones que queremos que se ejecuten, ya que de ningún otro modo serán ejecutadas. En la programación procedimental sólo se ejecuta aquello que nosotros, imperativamente, exigimos que sea ejecutado.
Por el contrario, en la programación declarativa, el concepto imperativo de órdenes desaparece casi por completo. Mientras que en ciertas ocasiones aún deberemos (y por supuesto, podremos) especificar una serie de acciones a ejecutar, los detalles relativos a “procesos” y/o “procedimientos” desaparecen de nuestra realidad cotidiana, de igual modo que los exámenes parciales desaparecieron de mi realidad cotidiana cuando salí de la Universidad (ánimo amigos!). Definitivamente, dejaremos estas tareas en manos del compilador subyacente, que se encargará de procesar en el momento oportuno cada sentencia declarativa y generar al vuelo su equivalente conjunto de órdenes procedimentales de la forma más optimizada posible. Remarcando el concepto, habremos definido qué queremos obtener, y nuestro compilador se habrá encargado de los detalles relativos a cómo obtenerlo de una manera eficiente.

No hay comentarios:

Publicar un comentario