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?
Respuesta
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.
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.
reloj de algunas de estas: http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/
aprendizaje Lisp per se no es particularmente práctico, pero le hará un mejor programador que se puede aplicar el conocimiento que adquiera a las lenguas que usted piensa que ya conoce.
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 Lispcompilació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.
- 1. ¿Hay algún beneficio real de usar J #?
- 2. ¿Hay algún beneficio al usar HtmlHelper en MVC?
- 3. ¿Hay algún beneficio al usar SecureString en ASP.NET?
- 4. ¿Hay algún beneficio en minimizar JavaScript antes de descomprimirlo?
- 5. Recursos para aprender Lisp
- 6. ¿Hay algún beneficio de usar un Inicializador de objetos?
- 7. ¿Hay algún beneficio para mantener el tamaño de MaxPermSize pequeño?
- 8. ¿Hay algún beneficio o inconveniente cuando un constructor implementa otro?
- 9. ¿Hay algún beneficio de usar un método @static?
- 10. ¿Hay algún beneficio para encriptar dos veces usando pgp?
- 11. ¿Hay algún comando para detener al intérprete en Common Lisp?
- 12. ¿Hay algún kernel pequeño lo suficientemente bueno para aprender osdev?
- 13. ¿Qué dialecto de Lisp debo aprender?
- 14. ¿Hay algún beneficio al usar prototipos en lugar de declarar propiedades en el objeto mismo?
- 15. ¿Hay algún beneficio para declarar una constante en un ámbito local en C#?
- 16. ¿Hay algún beneficio en usar Maven Multimodule cuando se trabaja en una aplicación pequeña?
- 17. ¿Hay algún beneficio en definir una clase dentro de otra clase en Python?
- 18. En JSF, ¿hay algún beneficio en dividir <h:form> s?
- 19. SQL Server 2008: ¿hay algún beneficio para múltiples grupos de archivos en la misma unidad física?
- 20. ¿Hay algún beneficio al declarar una const en lugar de una variable dentro de una función?
- 21. ¿Hay algún beneficio al colocar un objeto ThreadSafe en un ThreadLocal?
- 22. ¿Cuándo debería estar usando "NOT NULL" en una tabla MySQL y hay algún beneficio?
- 23. ¿Hay algún beneficio de seguridad en el cifrado de las variables de sesión?
- 24. ¿Hay algún beneficio en hacer que un campo C# sea de solo lectura si es apropiado?
- 25. WPF DataGrid de WPF toolkit vs ListView - ¿algún beneficio?
- 26. ¿hay algún beneficio para anular referencias a "alentar" la recolección de basura .NET?
- 27. ¿Hay algún beneficio al usar una declaración de devolución que no devuelve nada?
- 28. ¿Hay algún beneficio al usar getters/setters dentro de una clase para sus propios campos?
- 29. ¿Hay algún beneficio real para usar el método javascript Array reduce()?
- 30. ¿Hay algún beneficio al declarar una propiedad privada con un getter y setter?
FWIW la empresa en la que trabajo utiliza una gran cantidad de AutoLISP ... que es algo que puede hacer. – Pete