Estructura e Interpretación de Programas

Me encuentro en la web con estos videos de un curso que dictaron Hal Abelson y Gerald Ray Sussman, allá por el 86, en una sede de Hewlett-Packard. La empresa, para capturar el conocimiento, preparó un curso en video de la clase. Ahora la podemos ver y bajar desde

http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/

Si bien tienen sus años, es bueno ver estos temas, por ejemplo, desde el punto de vista de Lisp. Desde esos tiempos, me he dedicado a hacer mínimas implementaciones de intérpretes Lisp, Prolog y máquina Smalltalk, y como estoy interesado en reimplementar algunas de esas ideas en .NET y Java, estoy volviendo a estudiar esos temas. Creo que el conocer cómo hacer un intérprete, o un compilador, nos da una vista de primera mano de muchos de los problemas de la “ciencia” de la computación. Es un excelente ejercicio para la neurona.

Vean cómo ahora, con LINQ y F#, y otros, “reaparencen” conceptos como cálculo lambda. Esos conceptos todos tuvieron su primera aplicación en esos “viejos” lenguajes como Lisp.

El que no escriba un lambda en su vida, se pierde algo…. :-)

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com/

This entry was posted in 3463. Bookmark the permalink.

One Response to Estructura e Interpretación de Programas

  1. Estoy totalmente de acuerdo, Angel. Ese tipo de cosas por suerte vi algo en la facultad (la UNLu), pero por las cuestiones que nos aquejan a la mayoría de los informáticos (tener que trabajar en vez de investigar y divertirse a la vez), sólo pude ver la punta del iceberg.

    Al aprender lenguajes como Python y Ruby, que si bien son más bien procedurales-OO, pude ver que implementan algunas características funcionales; y son lenguajes que vienen en franco ascenso de popularidad.

    Espero que estos esfuerzos (no te olvides de Haskell! [1]) pongan en primer plano a una forma de programar que es muy poderosa (sólo hay que ver el paper de Google Map Reduce[2] por ejemplo), flexible e ideal en unas cuántas situaciones.

    Saludos Cordiales!

    Marcelo

    [1] http://www.haskell.org/

    [2] labs.google.com/…/mapreduce.html

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>