Comenzando con F # [cerrado]

139

¿Cómo hago para entrar en la programación de F #?

¿Cuáles son algunas buenas muestras de inicio para aprender el idioma o conocer algunas de sus ventajas sobre otros idiomas?

¿Qué herramientas necesito (por ejemplo, Windows, Visual Studio, ...)?

Brian
fuente
44
Con 120 votos, ¿debería reabrirse esta pregunta? Proporciona buenas respuestas a una buena pregunta que ha sido leída muchas veces.
lanza

Respuestas:

137

El punto de entrada oficial está aquí: Microsoft F # Developer Center

Para una prueba rápida, considere probar F # en su navegador (Silverlight). (contiene tutoriales interactivos)

Comience viendo videos y presentaciones (BTW, An Introduction to Microsoft F # by Luca Bolognese sigue siendo una de las mejores presentaciones sobre el tema). Luego lea los siguientes dos libros que debe leer:

y además de eso ...

enlaces rápidos

Comunidad

Q&A

Blogging / publicación

Grupos Meetup

Videos

Otros libros

Herramientas necesarias

Estudio visual:

  • F # está integrado en las ediciones profesionales de VS2010 y VS2012.
  • F # está disponible como un componente adicional para Visual Studio 2012 Express para Web.
  • Alternativamente, también puede instalar el shell integrado VS2010 ( descarga gratuita ). Luego instale el CTP MSI , para obtener una versión VS2010 gratuita de F # 2.0.

MonoDevelop:

  • Puede encontrar mucha información sobre el uso de F # en MonoDevelop aquí . El compilador de F # y fsi.exe ahora forman parte de la distribución Mono.
Brian
fuente
1
Todavía tengo que encontrar un libro de "lectura obligada" en lo que respecta a la programación, por lo tanto, soy bastante escéptico de tales recomendaciones ...
HB
3
¿Qué pasa si esto se agregó a la información de la etiqueta? stackoverflow.com/tags/f%23/info
bytebuster
2
Si puede ayudar, yo y yo descubrimos que uso diferentes libros para diferentes propósitos. Experto F # más como referencia (aunque no es una referencia pura) para buscar cosas, comenzando F # como un libro de cultura donde siempre aprendo algo muy útil sin importar qué capítulo lea, incluso cosas básicas, y RWFP como un resumen de un tema .
nicolas
3
Recomiendo bastante el libro de Jon Harrop también. Realmente al punto, en el lado de algo con buenas cosas fundamentales. 0% de residuos. A Jon también le gusta noobie.
nicolas
1
@HB Creo que hay que leer, pero no son lo suficientemente fundamentales y generales para calificar en mi humilde opinión
nicolas
31

La forma en que aprendí F # fue a través de los siguientes 3 pasos.

Primero, revisé la introducción en el sitio web Try F # que ofrece una buena (pero ligera) introducción interactiva a la sintaxis y el estilo del lenguaje.

Luego, para tener una idea de cómo resolver realmente los problemas en el idioma, comencé a resolver algunos de los acertijos en el sitio del Proyecto Euler . Resolví los primeros diez problemas y después de cada problema exitoso, busqué una implementación alternativa de F # aquí . Esto dio una buena sensación de cómo trabajar con secuencias y usar la recursividad y, en general, sentirse cómodo con la sintaxis.

Finalmente, leí la excelente guía de 30 puntos ¿Por qué usar F # en http://fsharpforfunandprofit.com/ ? Le lleva paso a paso a través de todas las partes principales del lenguaje que describen cómo puede aprovecharlas, con la vista puesta en los desarrolladores de C #. Después de eso, lo aliento a buscar otros recursos en el sitio web, todos están muy bien escritos y son muy perspicaces.

Después de completar estos pasos, debe estar listo para comenzar a crear un proyecto real en F #.

Morten Christiansen
fuente
3
Realmente me gusta la recomendación de Euler. La resolución real de problemas es (para mí) la mejor manera de profundizar. También fsharpforfunandprofit es una gran fuente que también encontré realmente útil.
Ostkontentitan
En el proyecto euler, las soluciones para f # no parecen ser las más eficaces. El problema uno funciona mucho mejor con: let problem1 = [1..999] |> List.filter (fun x -> (x% 5 = 0 || x% 3 = 0)) |> Seq.sum ;; Sugeriría medir el tiempo de su solución y las proporcionadas. stackoverflow.com/questions/4528355/…
Ostkontentitan
Yo hice lo mismo. Aprendí un poco de lenguaje / sintaxis / forma de pensar y fui al Proyecto Euler.
Grzegorz Gierlik
24

Brian ya preparó una gran lista, pero presento humildemente mi pequeña contribución al rico ecosistema de material de aprendizaje de F #, los F # Koans , una forma simple, divertida e interactiva de aprender el idioma de F # a través de las pruebas.

Chris Marinos
fuente
2
+1 Esta es una gran introducción interactiva a los conceptos básicos, esperando algunos koans de nivel avanzado.
79E09796
1
Gracias. Aprendí mucho de los koans, y estaría totalmente interesado en algunos de nivel avanzado.
Tyler Smith