Introdução ao F # [fechado]

139

Como faço para entrar na programação F #?

Quais são algumas boas amostras iniciais para aprender o idioma ou aprender sobre algumas de suas vantagens sobre outros idiomas?

De que ferramentas eu preciso (por exemplo, Windows, Visual Studio, ...)?

Brian
fonte
4
Com 120 votos a favor, essa pergunta deve ser reaberta? Ele fornece boas respostas para uma boa pergunta que foi lida muitas vezes.
rola

Respostas:

137

O ponto de entrada oficial está aqui: Microsoft F # Developer Center

Para uma amostra rápida, considere experimentar o F # no seu navegador (Silverlight). (contém orientações interativas do tutorial)

Comece assistindo a vídeos e apresentações (BTW, Uma Introdução ao Microsoft F # de Luca Bolognese ainda é uma das melhores apresentações sobre o assunto). Em seguida, leia os dois livros a seguir obrigatórios:

e além disso ...

Links Rápidos

Comunidade

Perguntas e Respostas

Blogging / publicação

Grupos Meetup

Vídeos

Outros livros

Ferramentas necessárias

Estúdio visual:

  • O F # foi incorporado às edições profissionais do VS2010 e VS2012.
  • O F # está disponível como um componente complementar do Visual Studio 2012 Express for Web.
  • Como alternativa, você também pode instalar o shell integrado do VS2010 ( download gratuito ). Em seguida, instale o CTP MSI , para obter uma versão VS2010 gratuita do F # 2.0.

MonoDevelop:

  • Você pode encontrar muitas informações sobre o uso de F # no MonoDevelop aqui . O compilador F # e o fsi.exe agora fazem parte da distribuição Mono.
Brian
fonte
1
Eu ainda tenho que encontrar um livro "leitura obrigatória" quando se trata de programação, portanto, estou um pouco cético em relação a tais recomendações do livro ...
HB
3
E se isso fosse adicionado às informações da tag? stackoverflow.com/tags/f%23/info
bytebuster 17/08/2012
2
Se puder ajudar, eu e eu descobrimos que uso livros diferentes para diferentes propósitos. Especialista em F # mais como uma referência (embora não seja pura referência) a pesquisar coisas, começando o F # como um livro de cultura, onde eu sempre aprendo algo muito útil, independentemente do capítulo que eu li, mesmo as coisas básicas, e o RWFP como um resumo sobre um assunto .
Nicolas
3
Eu recomendo muito o livro de Jon Harrop também. Bem direto ao ponto, algo interessante com coisas fundamentais. 0% de desperdício. Jon também gosta de noobie.
Nicolas
1
@HB Eu acho que existem devem ler, mas aqueles que não são fundamentais e suficientemente geral para qualificar IMHO
nicolas
31

A maneira como aprendi F # era seguir as 3 etapas a seguir.

Primeiro, passei pela introdução no site Try F # , que fornece uma boa (mas leve) introdução interativa à sintaxe e estilo do idioma.

Em seguida, para ter uma idéia da solução de problemas no idioma, comecei a resolver alguns dos quebra-cabeças no site do Project Euler . Resolvi os dez primeiros problemas e, após cada problema bem-sucedido, procurei uma implementação alternativa de F # aqui . Isso deu uma boa sensação de como trabalhar com seqüências e usar recursão e geralmente se sentir confortável com a sintaxe.

Por fim, li o excelente guia de 30 pontos Por que usar o F # em http://fsharpforfunandprofit.com/ . Ele mostra passo a passo todas as partes principais da linguagem, descrevendo como você pode tirar proveito delas - de olho nos desenvolvedores de C #. Depois disso, incentivo você a procurar outros recursos no site, todos eles muito bem escritos e com muita perspicácia.

Depois de concluir essas etapas, você deve estar pronto para começar a criar um projeto real em F #.

Morten Christiansen
fonte
3
Eu realmente gosto da recomendação de Euler. A solução real de problemas é (para mim) a melhor maneira de realmente me aprofundar. Também o fsharpforfunandprofit é uma ótima fonte que também achei muito útil.
Ostkontentitan
No projeto euler, exemplos de soluções para f # não parecem ser os de maior desempenho. O problema 1 tem um desempenho muito melhor com: let problem1 = [1..999] |> List.filter (divertido x -> (x% 5 = 0 || x% 3 = 0)) |> Seq.sum ;; Sugiro medir o tempo da sua solução e dos fornecidos. stackoverflow.com/questions/4528355/…
Ostkontentitan
Eu fiz o mesmo. Aprendeu um pouco da linguagem / sintaxe / modo de pensar e foi para o Projeto Euler.
Grzegorz Gierlik
24

Brian já montou uma ótima lista, mas humildemente submeto minha pequena contribuição ao rico ecossistema de material de aprendizado em F #, o F # Koans - uma maneira simples, divertida e interativa de aprender o idioma F # por meio de testes.

Chris Marinos
fonte
2
+1 Esta é uma ótima introdução interativa aos conceitos básicos, aguardando ansiosamente alguns koans de nível avançado.
79E09796
1
Obrigado. Eu aprendi muito com os koans, e eu estaria totalmente interessado em alguns de nível avançado.
Tyler Smith