Quais são alguns aplicativos conhecidos escritos em F #? [fechadas]

13

Como parte de uma busca contínua por conhecimento, vou passar algum tempo esta semana aprendendo o básico do F # como uma introdução à programação funcional. Acho que estou entendendo a construção do software sob esse modelo e alguns dos benefícios propostos, mas ainda estou um pouco confuso nos casos de uso do mundo real.

Eu esperava que as histórias de sucesso do F #, ou pelo menos alguns aplicativos com os quais eu estivesse familiarizado, tornassem um pouco mais claro quando o F # (ou qualquer linguagem de programação funcional) seria apropriado para um projeto.

Então, voltando à pergunta, quais são alguns aplicativos conhecidos que usam F # ou uma linguagem de programação funcional semelhante?

BTW: Também estou aberto a ouvir sobre alguns aplicativos menos conhecidos, mas se você mencionar um, forneça o básico sobre o que é o aplicativo e por que o idioma usado foi a escolha apropriada.

JohnFx
fonte
Estou curioso sobre isso também. Eu pensei que o F # era uma linguagem do Departamento de Pesquisa da MS orientada para a matemática. Seria interessante ver se existem programas por aí que sejam reconhecíveis. Duvido que existam programas 'bem conhecidos' que sejam inteiramente de F #.
Kavet Kerek
1
Esta questão parece estar fora do tópico, porque é uma pergunta baseada em pesquisa.
jet.com, startup de comércio eletrônico inicialmente escrita em F #, foi comprada pelo Walmart há alguns anos atrás por US $ 3 bilhões
#

Respostas:

8
  • Todo o sistema F # (compilador, bibliotecas e ferramentas)
  • IronJS (já mencionado)
  • O algoritmo XBox Live TrueSkill, bem como todo o sistema de conquistas, o sistema de classificação e o sistema de criação de partidas ao seu redor

Eu acho que a principal razão pela qual não existem aplicativos "conhecidos" escritos em F #, é porque leva anos, até décadas para se tornar "conhecido" e o F # simplesmente ainda não é tão antigo.

No entanto, a esmagadora maioria dos aplicativos não é "conhecida". Existe apenas um PowerPoint, mas existem literalmente milhões de pequenos aplicativos personalizados personalizados, feitos à mão, com folha de pagamento.

E o F # é certamente usado internamente em muitas empresas financeiras, fazendo computação numérica e científica em, digamos, biotecnologia ou greentech, fazendo estatísticas que Deus sabe onde e assim por diante. Esses aplicativos não são bem conhecidos, porque simplesmente não são "sexy" ou frequentemente porque as empresas consideram o F # sua arma secreta, o que lhes dá uma vantagem competitiva. (OCaml, Smalltalk e APL desempenham funções semelhantes. Muitas empresas financeiras usam o APL, por exemplo, mas não o divulgam amplamente. Na verdade, muitas vezes os usuários do APL nem são programadores e, portanto, nem sabem onde e como para divulgá-lo, mesmo que quisessem.)

Jörg W Mittag
fonte
1
Segundo a Wikipedia, o F # tem 8 anos. PHP, Java, C # estavam sendo usados ​​em aplicativos conhecidos muito antes de atingirem essa idade. O C #, por exemplo, foi lançado em 2001. E seu F # bastante claro está mais de um ano atrás do C # em termos de uso.
GrandmasterB
5
@ GrandmasterB: Isso pode não ser exatamente uma avaliação justa. O F # era apenas um projeto experimental até ser produzido no VS2010, embora viável em 2008. Portanto, eu não o chamaria exatamente de 8 anos de idade.
Robert Harvey
3

Tabbles . Um gerenciador e organizador de arquivos, com muitos recursos. Ele fornece um sistema de marcação que você pode compartilhar com outras pessoas. É um produto comercial.

Kaveh Shahbazian
fonte
1

Eu me perguntei a mesma coisa por um tempo. Eu realmente gosto de F #, mas não vi nada no domínio de um aplicativo comercial. O que ouvi (e com bastante frequência) é que o F # tem sido muito utilizado na área financeira.

Que estruturas da web decentes existem para programação funcional? tem alguns exemplos de estruturas da Web para linguagens de programação funcionais e eu sei http://cs.hubfs.net/blogs/tomasp/archive/2010/05/09/14050.aspx é um artigo sobre como escrever um asp.net MVC 2 Aplicativo da Web em F #.

Como eu tenho pesquisado artigos sobre F # e muitos exemplos e elogios das pessoas vieram na forma de analisadores de log. Mas isso é sempre seguido de uma advertência de algo como "Não tenho permissão para usar a linguagem no trabalho" (parafraseado, é claro). Vou tentar encontrar mais exemplos.

Eu tenho brincado com a idéia de criar um MUD (Calabouço de Multiusuários) baseado em texto em F #, mas parece que nunca tenho tempo.

Jetti
fonte
MUD == Masmorra para vários usuários?
Robert Harvey
@ Robert Harvey - isso seria correto. Vou editar isso para aqueles que não sabem.
Jetti
Esqueci de adicionar o WebSharper. Ele permite que os desenvolvedores criem sites totalmente em F #.
Jetti
0

Eu olhei brevemente para o F # quando quis escrever um analisador SQL, que acabei implementando no Haskell. Dito isto, você poderia usar o F # em qualquer lugar que usasse o C #, mas valeria a pena? Se você estiver fazendo muita programação funcional, vale a pena usar o F #, pois a sintaxe para construções funcionais é mais amigável. Se você está fazendo principalmente OO, provavelmente é melhor ficar com o C #.

Larry Coleman
fonte
Eu concordo com Larry Coleman. Por que alguém faria algo em F # quando pode fazê-lo em C #? Eu acho que é seguro dizer que na maioria das vezes que o F # é benéfico sobre o C #, ele não está em uma situação de aplicativo comercial.
Jetti
1
Eu acho que essa também é a perspectiva da EM. O C # e o VB.NET foram apresentados como um ou outro, mas acho que o objetivo do F # (e, em menor grau, linguagens como IronPython e Boo) é incentivar a programação poliglota: usando diferentes linguagens com recursos exclusivos para resolver diferentes problemas. tipos de problemas.
CodexArcanum 18/11/2010
O @Jetti F # é muito bom para qualquer tipo de processamento de dados, para análise e para qualquer campo pesado de cálculo em que a correção seja importante. A Programação Funcional, em geral, oferece um nível de expressividade que torna muitos tipos de programas muito fáceis de escrever. Nada disso é um material front-end muito visível, como um site ou aplicativo de GUI, áreas em que o C # se destaca. Você pode usar o LINQ para obter parte do FP em C #, mas o F # é uma linguagem mais natural para expressar esse código.
CodexArcanum
@ CodexArcanum - Concordo plenamente com você. Eu acho que estava enganando "Aplicativo Comercial", eu deveria ter dito "Aplicativo Diário do Consumidor (ou seja, Office, Firefox, etc.)"
Jetti
1
@Jetti: Eu recomendaria Haskell sobre F # se você estiver interessado em aprender programação funcional. Você aprenderá mais rápido porque não poderá executar procedimentos ou OO nele.
Larry Coleman
0

JS de ferro .

Pessoalmente, acho estranho que o único aplicativo que conheço seja escrito em F #, seja algo que permita que você escreva em um idioma que não seja o F #.

Para mim, isso diz muito sobre o verdadeiro valor da programação funcional. As pessoas podem comemorar como "bonito" é tudo o que querem - se fosse tão bonito, as pessoas o usariam mais.

riwalk
fonte
Discordo da sua última afirmação. As pessoas usam F #, na verdade, usam-no tanto que se tornou parte do Visual Studio 2010. O F # foi adotado no setor financeiro, assim como Erlang foi adotado nas telecomunicações. Só porque eu posso escrever um aplicativo em F # não significa que vou fazê-lo. O idioma (e os idiomas FP em geral) têm seus pontos fortes e fracos e, portanto, serão amplamente utilizados em áreas que podem se beneficiar de sua força!
Jetti
@Jetti, com certeza. Já se passaram mais de 30 anos desde que a programação funcional foi concebida, mas tenho certeza de que isso certamente derrubará a programação procedural de seu pedestal a qualquer momento. Não estou dizendo que não tenha méritos - algumas coisas podem ser feitas de maneira bastante elegante com o funcional. O que estou dizendo é que nunca vai dominar.
riwalk
@ Stargzer712 - Concordo que nunca será dominado e por boas razões também.
Jetti