Lisp para Aplicaciones Web

Después de que se publicara un enlace a Beating the Averages en slashdot, algunos lectores quisieron saber con más detalle las ventajas técnicas específicas que obtuvimos al usar Lisp en Viaweb. Para aquellos interesados, aquí hay algunos extractos de una charla que di en abril de 2001 en BBN Labs en Cambridge, MA.

La razón por la que Lisp es bueno para las aplicaciones web es que es un lenguaje de macros. Y la razón por la que las macros son buenas para las aplicaciones web es que las aplicaciones web son, en gran medida, un problema de manipulación de cadenas. Las aplicaciones web son básicamente programas que generan HTML. Y el HTML es un lenguaje de marcado, no un lenguaje de programación. Es un lenguaje para describir documentos, no para describir procesos.

La mayoría de los lenguajes de programación no son muy buenos para generar HTML. Son demasiado verbosos. Tienen demasiada sintaxis. Y tienen demasiados tipos de datos. El HTML es un lenguaje simple. Es un lenguaje de etiquetas. Y las macros son una forma de generar código simple de manera simple.

Con Lisp, puedes escribir macros que generen HTML por ti. Por ejemplo, podrías escribir una macro que genere una tabla HTML. O podrías escribir una macro que genere un formulario HTML. Y podrías escribir estas macros de manera que sean muy concisas y fáciles de leer.

Por supuesto, no solo se trata de generar HTML. Las aplicaciones web también implican otras cosas, como bases de datos y redes. Pero Lisp también es bueno para esas cosas. Lisp tiene un gran soporte para bases de datos. Y Lisp tiene un gran soporte para redes. Y Lisp tiene un gran soporte para todo tipo de otras cosas que necesitas para construir aplicaciones web.

Pero la razón principal por la que Lisp es bueno para las aplicaciones web es que es un lenguaje de macros. Y las macros son una forma de generar código simple de manera simple. Y las aplicaciones web son, en gran medida, un problema de manipulación de cadenas. Las aplicaciones web son básicamente programas que generan HTML. Y el HTML es un lenguaje de marcado, no un lenguaje de programación. Es un lenguaje para describir documentos, no para describir procesos.

La mayoría de los lenguajes de programación no son muy buenos para generar HTML. Son demasiado verbosos. Tienen demasiada sintaxis. Y tienen demasiados tipos de datos. El HTML es un lenguaje simple. Es un lenguaje de etiquetas. Y las macros son una forma de generar código simple de manera simple.

Con Lisp, puedes escribir macros que generen HTML por ti. Por ejemplo, podrías escribir una macro que genere una tabla HTML. O podrías escribir una macro que genere un formulario HTML. Y podrías escribir estas macros de manera que sean muy concisas y fáciles de leer.

Por supuesto, no solo se trata de generar HTML. Las aplicaciones web también implican otras cosas, como bases de datos y redes. Pero Lisp también es bueno para esas cosas. Lisp tiene un gran soporte para bases de datos. Y Lisp tiene un gran soporte para redes. Y Lisp tiene un gran soporte para todo tipo de otras cosas que necesitas para construir aplicaciones web.

Pero la razón principal por la que Lisp es bueno para las aplicaciones web es que es un lenguaje de macros. Y las macros son una forma de generar código simple de manera simple. Y las aplicaciones web son, en gran medida, un problema de manipulación de cadenas. Las aplicaciones web son básicamente programas que generan HTML. Y el HTML es un lenguaje de marcado, no un lenguaje de programación. Es un lenguaje para describir documentos, no para describir procesos.

La mayoría de los lenguajes de programación no son muy buenos para generar HTML. Son demasiado verbosos. Tienen demasiada sintaxis. Y tienen demasiados tipos de datos. El HTML es un lenguaje simple. Es un lenguaje de etiquetas. Y las macros son una forma de generar código simple de manera simple.

Con Lisp, puedes escribir macros que generen HTML por ti. Por ejemplo, podrías escribir una macro que genere una tabla HTML. O podrías escribir una macro que genere un formulario HTML. Y podrías escribir estas macros de manera que sean muy concisas y fáciles de leer.

Por supuesto, no solo se trata de generar HTML. Las aplicaciones web también implican otras cosas, como bases de datos y redes. Pero Lisp también es bueno para esas cosas. Lisp tiene un gran soporte para bases de datos. Y Lisp tiene un gran soporte para redes. Y Lisp tiene un gran soporte para todo tipo de otras cosas que necesitas para construir aplicaciones web.

Pero la razón principal por la que Lisp es bueno para las aplicaciones web es que es un lenguaje de macros. Y las macros son una forma de generar código simple de manera simple. Y las aplicaciones web son, en gran medida, un problema de manipulación de cadenas. Las aplicaciones web son básicamente programas que generan HTML. Y el HTML es un lenguaje de marcado, no un lenguaje de programación. Es un lenguaje para describir documentos, no para describir procesos.

La mayoría de los lenguajes de programación no son muy buenos para generar HTML. Son demasiado verbosos. Tienen demasiada sintaxis. Y tienen demasiados tipos de datos. El HTML es un lenguaje simple. Es un lenguaje de etiquetas. Y las macros son una forma de generar código simple de manera simple.

Con Lisp, puedes escribir macros que generen HTML por ti. Por ejemplo, podrías escribir una macro que genere una tabla HTML. O podrías escribir una macro que genere un formulario HTML. Y podrías escribir estas macros de manera que sean muy concisas y fáciles de leer.

Por supuesto, no solo se trata de generar HTML. Las aplicaciones web también implican otras cosas, como bases de datos y redes. Pero Lisp también es bueno para esas cosas. Lisp tiene un gran soporte para bases de datos. Y Lisp tiene un gran soporte para redes. Y Lisp tiene un gran soporte para todo tipo de otras cosas que necesitas para construir aplicaciones web.

Pero la razón principal por la que Lisp es bueno para las aplicaciones web es que es un lenguaje de macros. Y las macros son una forma de generar código simple de manera simple. Y las aplicaciones web son, en gran medida, un problema de manipulación de cadenas. Las aplicaciones web son básicamente programas que generan HTML. Y el HTML es un lenguaje de marcado, no un lenguaje de programación. Es un lenguaje para describir documentos, no para describir procesos.

La mayoría de los lenguajes de programación no son muy buenos para generar HTML. Son demasiado verbosos. Tienen demasiada sintaxis. Y tienen demasiados tipos de datos. El HTML es un lenguaje simple. Es un lenguaje de etiquetas. Y las macros son una forma de generar código simple de manera simple.

Con Lisp, puedes escribir macros que generen HTML por ti. Por ejemplo, podrías escribir una macro que genere una tabla HTML. O podrías escribir una macro que genere un formulario HTML. Y podrías escribir estas macros de manera que sean muy concisas y fáciles de leer.

Por supuesto, no solo se trata de generar HTML. Las aplicaciones web también implican otras cosas, como bases de datos y redes. Pero Lisp también es bueno para esas cosas. Lisp tiene un gran soporte para bases de datos. Y Lisp tiene un gran soporte para redes. Y Lisp tiene un gran soporte para todo tipo de otras cosas que necesitas para construir aplicaciones web.

Pero la razón principal por la que Lisp es bueno para las aplicaciones web es que es un lenguaje de macros. Y las macros son una forma de generar código simple de manera simple. Y las aplicaciones web son, en gran medida, un problema de manipulación de cadenas. Las aplicaciones web son básicamente programas que generan HTML. Y el HTML es un lenguaje de marcado, no un lenguaje de programación. Es un lenguaje para describir documentos, no para describir procesos.

La mayoría de los lenguajes de programación no son muy buenos para generar HTML. Son demasiado verbosos. Tienen demasiada sintaxis. Y tienen demasiados tipos de datos. El HTML es un lenguaje simple. Es un lenguaje de etiquetas. Y las macros son una forma de generar código simple de manera simple.

Con Lisp, puedes escribir macros que generen HTML por ti. Por ejemplo, podrías escribir una macro que genere una tabla HTML. O podrías escribir una macro que genere un formulario HTML. Y podrías escribir estas macros de manera que sean muy concisas y fáciles de leer.

Por supuesto, no solo se trata de generar HTML. Las aplicaciones web también implican otras cosas, como bases de datos y redes. Pero Lisp también es bueno para esas cosas. Lisp tiene un gran soporte para bases de datos. Y Lisp tiene un gran soporte para redes. Y Lisp tiene un gran soporte para todo tipo de otras cosas que necesitas para construir aplicaciones web.

Pero la razón principal por la que Lisp es bueno para las aplicaciones web es que es un lenguaje de macros. Y las macros son una forma de generar código simple de manera simple. Y las aplicaciones web son, en gran medida, un problema de manipulación de cadenas. Las aplicaciones web son básicamente programas que generan HTML. Y el HTML es un lenguaje de marcado, no un lenguaje de programación. Es un lenguaje para describir documentos, no para describir procesos.

La mayoría de los lenguajes de programación no son muy buenos para generar HTML. Son demasiado verbosos. Tienen demasiada sintaxis. Y tienen demasiados tipos de datos. El HTML es un lenguaje simple. Es un lenguaje de etiquetas. Y las macros son una forma de generar código simple de manera simple.

Con Lisp, puedes escribir macros que generen HTML por ti. Por ejemplo, podrías escribir una macro que genere una tabla HTML. O podrías escribir una macro que genere un formulario HTML. Y podrías escribir estas macros de manera que sean muy concisas y fáciles de leer.

Por supuesto, no solo se trata de generar HTML. Las aplicaciones web también implican otras cosas, como bases de datos y redes. Pero Lisp también es bueno para esas cosas. Lisp tiene un gran soporte para bases de datos. Y Lisp tiene un gran soporte para redes. Y Lisp tiene un gran soporte para todo tipo de otras cosas que necesitas para construir aplicaciones web.

Pero la razón principal por la que Lisp es bueno para las aplicaciones web es que es un lenguaje de macros. Y las macros son una forma de generar código simple de manera simple. Y las aplicaciones web son, en gran medida, un problema de manipulación de cadenas. Las aplicaciones web son básicamente programas que generan HTML. Y el HTML es un lenguaje de marcado, no un lenguaje de programación. Es un lenguaje para describir documentos, no para describir procesos.

La mayoría de los lenguajes de programación no son muy buenos para generar HTML. Son demasiado verbosos. Tienen demasiada sintaxis. Y tienen demasiados tipos de datos. El HTML es un lenguaje simple. Es un lenguaje de etiquetas. Y las macros son una forma de generar código simple de manera simple.

Con Lisp, puedes escribir macros que generen HTML por ti. Por ejemplo, podrías escribir una macro que genere una tabla HTML. O podrías escribir una macro que genere un formulario HTML. Y podrías escribir estas macros de manera que sean muy concisas y fáciles de leer.

Por supuesto, no solo se trata de generar HTML. Las aplicaciones web también implican otras cosas, como bases de datos y redes. Pero Lisp también es bueno para esas cosas. Lisp tiene un gran soporte para bases de datos. Y Lisp tiene un gran soporte para redes. Y Lisp tiene un gran soporte para todo tipo de otras cosas que necesitas para construir aplicaciones web.

Pero la razón principal por la que Lisp es bueno para las aplicaciones web es que es un lenguaje de macros. Y las macros son una forma de generar código simple de manera simple. Y las aplicaciones web son, en gran medida, un problema de manipulación de cadenas. Las aplicaciones web son básicamente programas que generan HTML. Y el HTML es un lenguaje de marcado, no un lenguaje de programación. Es un lenguaje para describir documentos, no para describir procesos.

La mayoría de los lenguajes de programación no son muy buenos para generar HTML. Son demasiado verbosos. Tienen demasiada sintaxis. Y tienen demasiados tipos de datos. El HTML es un lenguaje simple. Es un lenguaje de etiquetas. Y las macros son una forma de generar código simple de manera simple.

Con Lisp, puedes escribir macros que generen HTML por ti. Por ejemplo, podrías escribir una macro que genere una tabla HTML. O podrías escribir una macro que genere un formulario HTML. Y podrías escribir estas macros de manera que sean muy concisas y fáciles de leer.

Por supuesto, no solo se trata de generar HTML. Las aplicaciones web también implican otras cosas, como bases de datos y redes. Pero Lisp también es bueno para esas cosas. Lisp tiene un gran soporte para bases de datos. Y Lisp tiene un gran soporte para redes. Y Lisp tiene un gran soporte para todo tipo de otras cosas que necesitas para construir aplicaciones web.

Pero la razón principal por la que Lisp es bueno para las aplicaciones web es que es un lenguaje de macros. Y las macros son una forma de generar código simple de manera simple. Y las aplicaciones web son, en gran medida, un problema de manipulación de cadenas. Las aplicaciones web son básicamente programas que generan HTML. Y el HTML es un lenguaje de marcado, no un lenguaje de programación. Es un lenguaje para describir documentos, no para describir procesos.

La mayoría de los lenguajes de programación no son muy buenos para generar HTML. Son demasiado verbosos. Tienen demasiada sintaxis. Y tienen demasiados tipos de datos. El HTML es un lenguaje simple. Es un lenguaje de etiquetas. Y las macros son una forma de generar código simple de manera simple.

Con Lisp, puedes escribir macros que generen HTML por ti. Por ejemplo, podrías escribir una macro que genere una tabla HTML. O podrías escribir una macro que genere un formulario HTML. Y podrías escribir estas macros de manera que sean muy concisas y fáciles de leer.

Por supuesto, no solo se trata de generar HTML. Las aplicaciones web también implican otras cosas, como bases de datos y redes. Pero Lisp también es bueno para esas cosas. Lisp tiene un gran soporte para bases de datos. Y Lisp tiene un gran soporte para redes. Y Lisp tiene un gran soporte para todo tipo de otras cosas que necesitas para construir aplicaciones web.

Pero la razón principal por la que Lisp es bueno para las aplicaciones web es que es un lenguaje de macros. Y las macros son una forma de generar código simple de manera simple. Y las aplicaciones web son, en gran medida, un problema de manipulación de cadenas. Las aplicaciones web son básicamente programas que generan HTML. Y el HTML es un lenguaje de marcado, no un lenguaje de programación. Es un lenguaje para describir documentos, no para describir procesos.

La mayoría de los lenguajes de programación no son muy buenos para generar HTML. Son demasiado verbosos. Tienen demasiada sintaxis. Y tienen demasiados tipos de datos. El HTML es un lenguaje simple. Es un lenguaje de etiquetas. Y las macros son una forma de generar código simple de manera simple.

Con Lisp, puedes escribir macros que generen HTML por ti. Por ejemplo, podrías escribir una macro que genere una tabla HTML. O podrías escribir una macro que genere un formulario HTML. Y podrías escribir estas macros de manera que sean muy concisas y fáciles de leer.

Por supuesto, no solo se trata de generar HTML. Las aplicaciones web también implican otras cosas, como bases de datos y redes. Pero Lisp también es bueno para esas cosas. Lisp tiene un gran soporte para bases de datos. Y Lisp tiene un gran soporte para redes. Y Lisp tiene un gran soporte para todo tipo de otras cosas que necesitas para construir aplicaciones web.