¿Son importantes los lenguajes funcionales y LISP para aprender como desarrollador web?

Creo que cualquier programador se beneficiaría de conocer a Lisp. Tiene un enorme repertorio de conceptos, paradigmas, características, metodologías, etc. Mucho más que muchos otros lenguajes.

Pero tenga en cuenta … decir “Necesitas aprender Lisp” es como decir “Necesitas aprender la rama de idiomas Fortran”. Lisp ya no es un idioma (no desde los años 60), es toda una familia de idiomas. Obtienes 2 ramas principales Common & Scheme, mientras que también hay otras que se parecen más a las ramificaciones del original. Pero casi cualquiera de ellos tiene capacidades similares.

Si desea utilizarlo en el diseño web, nuevamente hay muchos que podrían darle esa característica fácilmente. Hay muchas bibliotecas web disponibles para Common Lisps, pero incluso algunos esquemas tienen esos (por ejemplo, Racket era muy bueno), o algo así como Clojure tiene todas las bibliotecas Java para elegir.

Sí, esto es muy necesario.

Un problema importante con el desarrollo web en estos días es la concesión que debe hacerse para el uso de lenguajes atroces. Esto es mucho más que una diferencia estilística: los lenguajes más comunes utilizados para esta tarea obstaculizan activamente la capacidad del desarrollador para detectar y prevenir errores y tienen un historial infame de vulnerabilidades de seguridad (mirándote, PHP).

Como dijo Barbara Liskov en su charla, El poder de la abstracción:

Creo que es muy triste Supongo que lo que sucedió es que la gente del lenguaje de programación estaba ignorando a esta audiencia y, por lo tanto, los aficionados intervinieron para llenar el vacío. Y, ya sabes, todos lo estamos pagando … Quiero decir, es como si hubiera vuelto a los viejos tiempos.

Creo, en cierto sentido, que existe el mundo del programador profesional … y existe otro mundo en el que se está escribiendo una gran cantidad de código, y está escrito en idiomas que no son muy buenos para las personas que no saber lo que están haciendo Y es realmente un problema.

Tal vez la gente del lenguaje de programación pueda prestar atención a esto, y algo mejor puede aparecer, y comenzaremos a mejorar la situación.

(La fuente está vinculada al final de esta respuesta).

El mundo del desarrollo web necesita una gran inyección de cordura, pero eso solo puede provenir de un esfuerzo de la comunidad, y la única forma en que eso sucederá es si los desarrolladores web tienen alguna perspectiva sobre cómo se ve un lenguaje sensato, efectivo y poderoso (pista: es no JavaScript).

Con ese fin, como desarrollador web, aprender y desarrollar una apreciación por los lenguajes funcionales, y alentar fuertemente a sus compañeros a hacer lo mismo, es fácilmente una de las mejores cosas que puede hacer por usted y por toda su profesión.

(Fuente de la cita anterior 🙂

Si bien acepto completamente el entusiasmo de Anurag Mendhekar, e incluso lo comparto hasta cierto punto, diría que no es “importante”. Actualmente no hay marcos web relevantes (!) Donde LISP sea un requisito o una adición útil.

A menos que desee mejorar su comprensión general de la informática, no necesita aprender programación funcional.

¿Los kits web que encuentra, por ejemplo, en Mejor marco web en Common-lisp? en realidad no son plataformas comerciales y la experiencia en ellas no le dará nada al buscar trabajo, aparte de la mejor comprensión general anterior.

Entonces, si su principal enfoque profesional es el desarrollo web, la programación funcional ocupará un lugar bajo en la lista de cosas para aprender.

Si quieres convertirte en un mejor desarrollador, lisp y otros lenguajes de programación funcionales te abrirán los ojos por completo. Muchas de las capacidades que nos encantan en los idiomas han sido adoptadas de lisp and co.

Es la pastilla roja.


Pero ciertamente puede ganarse la vida como desarrollador web sin tener que aprender sobre lisp, esa es la píldora azul.

Tomas la píldora azul: la historia termina, te despiertas en tu cama y crees lo que quieras creer. Tomas la píldora roja, te quedas en el país de las maravillas y te muestro cuán profundo es el agujero del conejo .

Entonces, ¿cuál será para ti?

Mucho. Lisp y la programación funcional le enseñan una forma de pensar sobre el software con claridad y en un nivel muy alto de abstracción y eso es valioso en la programación web tanto como en otros lugares. En segundo lugar, hay muchas estructuras de programación (“patrones”) que se derivan de ideas centrales en estos paradigmas (ejemplos clásicos: Mapa / Reducir; Apatridia como en arquitecturas REST;)

Si nunca has tenido la alegría de programar en la web en Lisp (o mi Racket favorita) o Haskell, definitivamente debes probarlo. Cambiará tu perspectiva por completo.

A.

Podrían ser útiles pero no son necesarios. He realizado desarrollo web durante más de 10 años y nunca he usado programación funcional. Incluso con JavaScript, nunca lo he usado funcionalmente.

Si está utilizando PHP o Java o Python o Ruby o C # o Perl, no está utilizando programación funcional.

Si está haciendo programación web front-end, probablemente usará JavaScript de manera funcional. También podrías usar Elm. Pero también podría usar CoffeeScript o Dart o DuoCode o Haxe u Opal o PharoJS o Transcrypt de una manera no funcional.

Así que no diría que es “importante”.

No, no es necesario Puede escapar fácilmente con HTML, CSS y JavaScript.

Explorar el paradigma asociado con la programación funcional simplemente lo expondrá a nuevas ideas y formas de abordar la resolución de problemas. Creo que te hará un mejor programador, pero muchos programadores están haciendo cosas increíbles sin él.

Depende de un buen desarrollador web que quieras ser.

Lo siguiente es del famoso artículo “Cómo convertirse en un hacker” (Cómo convertirse en un hacker):

“Vale la pena aprender LISP por una razón diferente: la profunda experiencia de iluminación que tendrás cuando finalmente la obtengas. Esa experiencia te convertirá en un mejor programador para el resto de tus días , incluso si nunca utilizas mucho el LISP “.

Nuevamente el énfasis en la frase: te hará un mejor programador para el resto de tus días .

Supongo que tienes que preguntarte si estás haciendo esto solo como tu trabajo o si es tu pasión. Entonces eso te dirá si vale la pena aprender a Lisp o no.

Estoy de acuerdo con la respuesta de Anurag Mendhekar. No todos los proyectos necesitarán Lisp o un lenguaje funcional, pero son valiosos para entrenarlo a pensar en abstracciones en capas. Recomiendo también preguntarle a Jason Crawford.