Estou tentando me familiarizar com diferentes tipos de idiomas para entender as áreas em que cada um deles é extremamente bom. Até agora, eu me envolvi em C - uma linguagem processual, C ++ e java - linguagens orientadas a objetos do tipo estático e groovy - uma linguagem dinâmica orientada a objetos do tipo dinâmico.
Provavelmente todas as linguagens de programação foram iniciadas para atender a uma necessidade. E presumo que todo idioma é extremamente bom em pelo menos uma coisa, pelo que se torna um padrão em uma área ou campo específico. Assim como o C, o C ++ tornou-se padrão em áreas como desenvolvimento de navegador ou jogo. Python no mundo Linux por sua capacidade de script fácil, Java no mundo corporativo etc.
Agora estou interessado em aprender uma linguagem de programação funcional como Clojure ou Lisp. Então, onde as linguagens de programação funcional são usadas nos cenários do mundo real? Eu não acho que alguém usaria o Clojure ou o Lisp para desenvolver aplicativos ou interfaces de usuário. Então, em que tipo de projetos devo entrar depois de passar pelos tutoriais básicos e aprender recursos para obter um breve entendimento sobre a implementação da programação funcional? E você recomenda fortemente um idioma em específico, como digamos clojure?
fonte
Respostas:
Você diz programação funcional do mundo real, acho Erlang.
http://www.erlang.org/
fonte
Há uma grande série de palestras sobre programação funcional da Stanford University. Você pode vê-las no YouTube.
Eu aconselho você a examinar o Scheme em vez do LISP. O esquema é uma versão modificada do Lisp com outras melhorias. O esquema é usado principalmente para fins acadêmicos e de treinamento. É uma ótima linguagem, se você gosta de fazer pesquisas em ciências da computação.
Aplicações :
O Google App Inventor para Android usa o Scheme, em que Kawa é usado para compilar o código do Scheme em códigos de bytes para a Java Virtual Machine em execução em dispositivos Android. O Elk Scheme é usado pela Synopsys como uma linguagem de script para suas ferramentas de tecnologia CAD (TCAD).
FYI: Uso do esquema
fonte
Bryan O'Sullivan, fundador do mailrank.com (que foi adquirido pelo Facebook) construiu todo o lado do servidor desse software em Haskell. Ele apresentou isso no Strange Loop 2011, vídeos e slides estão disponíveis online.
O mesmo cara escreveu um livro chamado Real World Haskell . Várias pessoas mencionaram tutoriais de programação. Este pode ser bastante apropriado aos seus interesses (eu também gosto da sugestão de Erlang).
fonte
Sei por amigos das finanças que a empresa de comércio quantitativo Jane Street usa o OCaml para implementar suas estratégias de negociação. Eles têm uma página na qual falam sobre o motivo, além de links para conversas sobre o assunto.
fonte
Aqui está uma lista de histórias de sucesso do Common Lisp:
http://wiki.alu.org/Industry%20Application
http://www.franz.com/success/
http://www.lispworks.com/success-stories/index.html
Embora o Common Lisp seja apenas parcialmente funcional (também suporta OOP e processual, além de qualquer coisa que você queira implementar por conta própria, ou com uma biblioteca), é uma linguagem muito pragmática e extremamente poderosa nas mãos de um programador competente. Na verdade, eu o uso para escrever aplicativos da Web com a excelente estrutura RESTAS .
E o projeto python comercial no qual estou trabalhando agora será complementado por serviços escritos em lisp (RESTAS, conforme sugerido pelo nome, é excelente para serviços RESTful).
fonte
Eu sugiro mergulhar nos compiladores (para linguagens de uso geral ou DSLs) - é aqui que a programação funcional está no seu melhor. Haverá muitas coisas interessantes e úteis a serem exploradas, desde ADTs e correspondência de padrões de um lado de um espectro até as macros Lisp do outro lado.
fonte
Você pode querer dar uma olhada no Hume .
Na página Linguagem de Programação Hume :
Na página da Hume da wikipedia :
fonte