Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Ver: Modo: Orden:
Aprendiendo a programar | 37 comentarios (37 temáticos, editoriales, 0 ocultos)
¿Lisp? (none / 0) (#10)
por thuban a las Thu Jul 22nd, 2004 at 09:08:34 AM CET
(Información Usuario)

Lo vas a flipar.

Vas a estar contando p**os parentesis hasta que al Real Madrid le den el Premio Nobel...

[ Padre ]


Poder expresivo (none / 0) (#25)
por man ls a las Fri Jul 23rd, 2004 at 07:08:57 PM CET
(Información Usuario)

Quiero explicar un poco por qué Lisp. Cuando uno programa en un lenguaje, acaba por pensar en ese lenguaje; resulta difícil salirse del marco que te fija, con lo que resuelves los problemas de una manera determinada. En esencia, el lenguaje acaba pensando por ti.

Pero a veces notas las limitaciones del lenguaje que estás usando. Por ejemplo, yo empecé con mi humilde Amstrad CPC a programar en Basic, y al poco tiempo ya te dabas cuenta de los problemas que trae el tener que numerar las líneas. Después empezabas a aburrirte de sus cortísimas variables (8 caracteres). El gfBasic del Atari ST resolvía estos problemas, pero para entonces ya hacía cosas más complicadas, y también se me quedó corto.

La programación orientada a objetos (primero en Perl, luego en C++ y finalmente en Java) fue una liberación. ¡Podías encapsular un montón de datos en un solo objeto! y pasarlo como parámetro para hacer otras cosas. Sin embargo, todavía noto ciertas faltas:
  • la absurda distinción entre métodos (o funciones en C++) y variables, que te lleva a crear métodos de acceso a tutiplén;
  • la incapacidad de ejecutar código que venga en una cadena, que sería tan útil para evaluar expresiones aritméticas;
  • no poder definir nuevos operadores, al menos en Java (en C++ por lo menos se pueden sobrecargar los operadores aritméticos, así que se puede usar '+' para sumar lo que quieras).
Algunas de estas restricciones las llevo sintiendo desde los tiempos de Basic. Me han prometido que Lisp es más flexible, y estoy dispuesto a escribir paréntesis hasta que las monas se afeiten con tal de poder superarlas.

[ Padre ]


Pop (none / 0) (#35)
por nya a las Sat Jul 24th, 2004 at 02:03:37 PM CET
(Información Usuario)

No sé si ya lo conocerás, pero hace tiempo DopeRider escribió un buen artículo sobre Poplog que quizás te interese.

[ Padre ]


Qué fuerste (none / 0) (#36)
por man ls a las Sat Jul 24th, 2004 at 10:29:47 PM CET
(Información Usuario)

Pues sí, coincide totalmente con lo que yo andaba buscando. Lástima que el soporte del lenguaje parece un poco pobre, pero sería interesante echarle un vistazo.

¡Gracias a ti y a DopeRider!

[ Padre ]


 
Paréntesis (none / 0) (#39)
por xan (xan en gnome punto org) a las Wed Jul 28th, 2004 at 03:43:33 PM CET
(Información Usuario)

La razón de que LISP tenga esa extraña y tediosa apariencia es en realidad increiblemente profunda e importante.

LISP nació como una entelequía matemática en los años 50 cuyo propósito podría definirse como la axiomatización de la programación. En concreto, la función "eval" de LISP actúa como un intérprete universal. Pero para su existencia sea posible necesitamos poder expresar el código LISP como datos, que serán pasados como argumentos a dicha función. De este modo, la sintaxis (¡mejor dicho ausencia de ella!) de LISP no es en realidad otra cosa que los árboles que se generan al parsear código, ¡que a su vez están hechos de listas!. Esto es importante: la representación de los datos y el código en LISP es idéntica.

Esto puede parecer confuso, pero al poder expresar código con la misma notación que los datos se obtienen cosas como las macros LISP, que son programas que generan nuevos programas. Explicar lo asombroso y potente que es esto es díficil si no se ha experimentado, pero en mi opinión es una de las características primordiales (si no la primodrial) que hacen a LISP el lenguaje más bello y poderoso que existe.

Si el tema te parece mínimamente atrayente te recomiendo que leas los ensayos sobre el tema en www.paulgraham.com o el libro Structure and Interpretation of Computer Programs, entre otros :)
--
Sirviendo al Comité Revolucionario Permanente de los Hombres Topo desde 2002.
[ Padre ]


 

Aprendiendo a programar | 37 comentarios (37 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:
Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda