2009-03-12 18 views

Respuesta

11

Creo que para un desarrollador de C# con fondo .NET, la mejor forma de ingresar a la programación funcional es aprender F #.

+0

Finalmente tengo suficientes motivaciones para probar F # en lugar de Haskell. Gracias – suhair

0

Aprendí programación funcional en la universidad, usando el lenguaje Haskell.

En su página de inicio es muy probable que encuentre lo que necesita para empezar :)

Por cierto, se necesita mucha práctica para ver la solución; los algoritmos, como tales, no son lo que todos usan para codificar en lenguajes orientados a objetos, lógicos o de procedimientos.

2

Dedique un tiempo a mirar Lisp o Scheme, ya que son la madre y el padre de la programación funcional. PLT Scheme es un excelente entorno para jugar con Scheme. Obtenga una copia de The Little Schemer ya que es una buena introducción a Scheme y lo ayudará a ponerse al día con bastante rapidez.

Una vez que tenga su cabeza funcional, intente hacer algunos de los problemas Project Euler de una manera funcional.

4
+0

+1 a pesar del conector de Python (¿es así que NO funciona :) :) –

+0

@OJ: Se agregaron referencias de personas que parecen pensar que Python sí admite la programación funcional. –

+0

De acuerdo, Python no es un lenguaje de programación funcional, pero sí tiene funciones funcionales. Esta es una publicación anterior, y aprecio que S.Lott haya escrito un libro sobre el tema. Aún así, no se ha escrito una biblioteca funcional de terceros para Python que encuentro un poco decepcionante. Seguro que ha habido varios intentos y contribuciones, pero nada se ha afianzado de la misma manera que las bibliotecas JS para EcmaScript, etc. – arcseldon

0

Estoy de acuerdo con Mehrdad Afshari. Si está familiarizado con C#, inicie la programación funcional con F #. La sintaxis es similar a las expresiones lambda en C#.

12

Tapón desvergonzado: soy el coautor (bueno, editor glorificado realmente :) de Real World Functional Programming. Está dirigido directamente a personas como usted. Enseña los principios de la programación funcional, principalmente a través de F #, y también muestra cómo se pueden aplicar los mismos principios en muchos casos en C#.

Asume que ya conoce C#, pero introduce F # desde cero.Te da suficiente conocimiento de F # para que comiences para que puedas experimentar, pero el objetivo es enseñar una forma funcional de pensar en lugar de entrar en cada rincón de F # como lenguaje. (En otras palabras, si desea comenzar a usar F # como lenguaje de producción, obtendría otro libro y.)

Aún no ha salido, pero puede obtener acceso anticipado a través del programa MEAP. Varios capítulos ya están disponibles, y pronto habrá más.

+0

¿Alguna sugerencia para otros recursos hasta que se publique la versión en madera muerta de ese libro? – suhair

+0

Si está interesado en la madera muerta en lugar del ebook, hay dos libros de Apress F: Fundamentos de F # (Robert Pickering) y Expert F # (Don Symes) –

+0

. Estoy leyendo la sección gratuita de este sitio de Manning - cosas muy interesantes y está bien escrito. Una cosa pequeña: la página 16 tiene "El código primero crea una lista temporal para almacenar todos los caracteres muertos." - podría hacer con una edición de Jon! –

3

La versión gratuita en línea de Real World Haskell es una forma buena y económica de comenzar.

Una vez que haya realizado algunos capítulos, podrá decidir si FP es para usted y si desea continuar con Haskell o cambiar a otro idioma. Incluso puede ir a comprar la versión de árbol muerto (como yo lo hice).

Los paradigmas que aprende de este libro, especialmente los capítulos de apertura, se aplican igualmente a otros lenguajes funcionales. (Me gusta pensar que mi Javascript y Groovy se beneficiaron de mi estudio de Haskell).

Cuestiones relacionadas