2010-11-03 10 views
5

Soy un experimentado programador de Ruby, Objective C y Java y estaba viendo un video en emacs (porque he estado usando Vi) y noté que también es un intérprete de LISP. Eso despertó mi interés y planteó una pregunta interesante: para alguien que conoce idiomas modernos de alto nivel como Ruby, Java y Objective C, ¿hay algún beneficio práctico para aprender LISP? ¿Ganaría algo reservando algo de tiempo para aprender LISP o no? Me gustaría escuchar lo que ustedes tienen que decir. Gracias.¿Hay algún beneficio en aprender LISP?

+0

FWIW la empresa en la que trabajo utiliza una gran cantidad de AutoLISP ... que es algo que puede hacer. – Pete

Respuesta

9

Definitivamente, aprender un idioma basado en un paradigma diferente al que está acostumbrado (lo que noto es meramente orientado a objetos con fuertes raíces imperativas). LISP es el abuelo de los lenguajes funcionales (uno de mis favoritos, Scheme, es un dialecto LISP).

Además de ampliar sus horizontes, los lenguajes y construcciones funcionales son highly likely para aumentar aún más su importancia como una forma razonablemente sencilla de utilizar hardware multi-core de manera eficiente.

LISP como tal podría no ser mi recomendación para empezar, ya que está enormemente fragmentado: por otro lado, hay un montón de historia, y puede usarla directamente si planea mudarse a Emacs.

4

Le sugiero que obtenga una good Lisp book (they abound on the web) y pruebe algunos Lisp usted mismo. Se sorprenderá al descubrir que este idioma de 50 años es tan "moderno" y, en cierto sentido, muy por delante de otros idiomas "modernos". (Por ejemplo, descubra por qué Lisp se llama lenguaje de programación programable). Si eres demasiado perezoso para probar algún código Lisp, lee this y this.

8

Lisp, en cierto sentido, es la extensión lógica de la revelación de von Neumann de que "el código es información es código".

Las cosas resueltas en Lisp antes de los 82 siguen trabajando en los principales lenguajes de programación como C# y Python. Debido a la razonablemente uniforme sintaxis de Lisp, es probable que nunca lleguen a entrar con la facilidad de usarlos en Lisp.

cosas como:

  • tipado dinámico - Posiblemente una invención Lisp, posiblemente Smalltalk. No es seguro.
  • orientación a objetos - recibidos de Smalltalk por Lisp creo
  • reflexión - C# acaba de conseguir éste
  • DSL en su propio idioma - hola LINQ.
  • macros - unos pocos idiomas ultra researchy tienen estos ahora además Lisp
  • compilación en el intérprete - nunca más se supo de otras lenguas que tienen éste

Y otras cosas que puede' Pienso sobre la marcha.

+0

Muy buena respuesta aquí. Espero que la gente lo vea. – Chuck

+0

Boo tiene macros semánticos, y es más pragmático de lo que es investigar. – JasonTrue

Cuestiones relacionadas