20

Recientemente me diagnosticaron un trastorno disociativo en cascada que causa amnesia retrógrada además de un caso existente de posible amnesia anterógrada. Muchas personas han tratado de recordarme cuán grande soy el programador que era antes. Ahora mismo obtengo los conceptos y las expresiones idiomáticas, pero quiero enseñarme si sé o no. Creo que puedo superar los problemas de amnesia en parte con eso.¿El "primer" lenguaje funcional del paciente con amnesia? (Realmente me gusta Clojure ...)

Mi pregunta para usted, stackoverflow, es esta: Recientemente encontré Clojure y ... se siente bien de usar, incluso al copiar los ejemplos de cualquier página web que pueda encontrar. Mis objetivos en el aprendizaje de un lenguaje de programación funcional son crear un servidor web simple, un bot de irc AI de alguna variedad, y un sistema de base de datos tipo couchdb, todo lo cual es liviano y específicamente para la educación. ¿Qué defectos tiene Clojure? ¿Hay un mejor lenguaje de programación funcional para usar ahora mismo para educación/y/aplicación?

+2

¿Puedo preguntar si está eligiendo específicamente un lenguaje funcional debido a su condición? ¿Tiene problemas de memoria a corto plazo? Nunca antes lo había pensado, pero tal vez la falta de objetos de estado y mutables hacen que la programación funcional sea un buen lenguaje para las personas con problemas de memoria. En algún nivel, un programador debe mantener un reflejo del estado del sistema en su propia memoria para poder escribir todo menos el software OOP más trivial. ¿Esto es algo negado en la programación funcional? – Alex

+2

¡Te admiro como programador y como persona por tu valentía y determinación! –

Respuesta

7

Haskell actualmente tiene una gran cantidad de seguidores y una base de crecimiento de libraries and applications. También se usa para educación e investigación. Me parece un lenguaje muy agradable de usar.

2

Menciona CouchDB en su pregunta, y está escrito en Erlang, que se supone que es un lenguaje fascinante una vez que entra en él.

8

Creo que Clojure es un lenguaje muy agradable. Si debo señalar cualquier defecto es que es muy nuevo, y aunque el lenguaje parece muy maduro y listo para la producción, las herramientas y los marcos que lo rodean no lo son. Por lo tanto, si va a crear, por ejemplo, una aplicación web, no espere disparar tres comandos y tener una "página de su navegador en la primera aplicación web en ejecución, ahora lea esta documentación para crear sus modelos".

Todavía no hay muchas bibliotecas escritas en Clojure, pero eso no es un gran problema si se tiene en cuenta que se puede usar casi cualquier cosa escrita en Java.

6

Haskell, Erlang y Clojure son buenas opciones. Personalmente recomendaría Clojure, podría hacer algunas cosas interesantes en la base de datos con el sistema de memoria transaccional de software que es parte de Clojure.

1

No tengo experiencia personal con Clojure, pero realmente recomiendo F#. Es un lenguaje bastante poderoso en el estilo de OCaml. Me gusta mucho porque las herramientas de depuración e IDE son insuperables, y puedes aprovechar prácticamente todas las bibliotecas de la (enorme) plataforma .NET.

Cuestiones relacionadas