miércoles, 20 de enero de 2010

Lenguajes declarativos y lenguajes imperativos

Un pequeño interludio en el intérprete de LISP para despejar mentes.

Hace años, cuando aún estudiaba, íbamos andando por una avenida un compañero de piso mío y yo. A eso que se nos paró un coche y un hombre algo barbudo (junto a un extraño copiloto que no recuerdo bien) nos preguntó con acento de otra ciudad.

-Disculpen, ¿cómo se llega al centro meteorológico?

El centro meteorológico no sólo era conocido en el barrio, sino que estaba bastante cerca. Mi respuesta fue bastante sencilla (y con acento autóctono):

-Siga por esta calle, la segunda a la izquierda y hasta la rotonda. Allí está.

Mi compañero de piso tuvo una respuesta distinta, pero equivalente.

-Está en diagonal estas dos manzanas.

El buen hombre nos dio las gracias y mi compañero de piso destacó que yo era "imperativo" porque había resuelto el problema mediante órdenes. Por otra lado, él mismo era "declarativo" porque había resuelto el problema describiendo la solución.

Realmente es un buen ejemplo para aprender qué es un lenguaje de programación imperativo y qué es un lenguaje de programación declarativo.

0 comentarios:

Publicar un comentario