Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Qué opinas de los comentarios de Wang Yin sobre Haskell?

¿Qué opinas de los comentarios de Wang Yin sobre Haskell?

Haskell es un lenguaje realmente difícil de aprender, por lo que creo que es comprensible que algunas personas digan que no es recomendado para principiantes. Me he encontrado con el problema que menciona con una mala inferencia de tipos muchas veces, y exactamente el mismo código se compilaría bien después de agregar la especificación de tipo.

Además, intenté compararlo con otro lenguaje (python) donde se necesita más código para realizar la misma tarea, pero eso se debe a que Haskell no tiene un procesamiento lógico predefinido (principalmente para situaciones en las que la entrada está vacía). etc.). Pero personalmente sigo pensando que Haskell es un lenguaje que vale la pena aprender. En primer lugar, es su singularidad: ahora hay muy pocos lenguajes perezosos y puramente funcionales. Estar expuesto a un lenguaje de este tipo sigue siendo muy útil para que los estudiantes comprendan su inmensidad. el mundo de la programación. Aprender ¿No es uno de los principales propósitos del libro simplemente ampliar sus horizontes? Además, un lenguaje puro puede obligar al programador a revisar su pensamiento de diseño y permitirle pensar en cómo separar la interacción del algoritmo puro, lo que personalmente rara vez hacía antes, por lo que el código se fusionó aleatoriamente.

El segundo es el rigor: como dijo el usuario anterior, el rigor y la conveniencia no pueden tener ambos. Al escribir una división de cadena muy simple, otros usan Python para escribirla mejor que yo uso Haskell para escribirla. más corto. Pero ¿por qué es esto posible? Esto se debe a que Python utilizará su propia lógica predeterminada para manejar excepciones como cadenas vacías, mientras que Haskell debe escribirse completamente a mano. Ciertamente es un inconveniente tener un lenguaje que no le agregue un manejo lógico implícito, pero aprender dicho lenguaje hace que le resulte más natural pensar en más detalles lógicos que debe considerar.

Lo último que quiero decir es que no hace mucho vi un vídeo de una entrevista a un diseñador de ghc. Su argumento es que Haskell es un "mundo ideal" y una plataforma de prueba de vanguardia de la cual extrae lecciones y luego las aplica a otros lenguajes más "prácticos". Desde esta perspectiva, también es muy valioso aprender Haskell para comprender sus deficiencias y defectos. Sólo experimentándolo usted mismo podrá evitar ser engañado por los demás.