Clojure and the Clouds!
Depois de muito tempo sem poder postar, devido a programação compulsiva, estudos e algumas pesquisas passo para dar uma palavra acerca do Clojure!
IDÉIAS DE ECOSSITEMA PARA A CLOUD COMPUTING
(1-LINGUAGENS FUNCIONAIS)
1.1 CLOJURE
(1-LINGUAGENS FUNCIONAIS)
1.1 CLOJURE

Baseada no velho e "concorrente" Lisp, a linguagem Clojure é compilada diretamente para bytecode Java, e tem como plataforma de execução a JVM que é muito robusta, fazendo uso de tecnologias como JIT e GC Paralelo alem de outras oluções brilhantes que facilitam a vida de quem migra para o paradigma funcional:
- Multimethods(Polimorfismo)
- Estrutura de Dados Imutaveis ex: REF's
- Metaprogramação extendida do LISP
- STM ex:Agentes
Alem disso a comunidade e muito amigavel e existem muitas bibliotecas que ja englobam tecnologias de vanguarda como:
Otimas para alta performance e paralelismo no tratamento de grandes quantidades de dados estas bibliotecas fazem com que o Clojure seja ideal para a Web2.0 e a futura Web 3.0.
Alem de novas tecnologias existem alguns frameworks interessantes como o Compojure, voltado para Web, baseado na API Sevlet do Java, usando o padrao REST para as rotas, sendo totalmente adaptavel, devido a grande capacidade atribuida pela metaprogramação(macros), utilizando recursos e tecnicas presentes em muitos frameworks web modernos(Django,Rails,Grails,Symphony,VRaptor).
Clojure resgata conceitos sobre concorrencia ja resolvidos nos anos 50 quando JohnMcCarthy, criador do LISP usou a linguagem em pesquisas com inteligencia artificial, tendo inclusive cunhado o termo "Cloud Computing" ou "Provedor de Serviços" baseado na abstração dos sistemas de distribuição eletrico e hidraulico em cidades .
Podemos dizer que Clojure, juntamente com Scala e Erlang são as linguagens cuja classe define um novo paradigma chamado , POC(Programação Orientada a Concorrencia) e que são de suma importancia para a Cloud Computing.
Alem de novas tecnologias existem alguns frameworks interessantes como o Compojure, voltado para Web, baseado na API Sevlet do Java, usando o padrao REST para as rotas, sendo totalmente adaptavel, devido a grande capacidade atribuida pela metaprogramação(macros), utilizando recursos e tecnicas presentes em muitos frameworks web modernos(Django,Rails,Grails,Symphony,VRaptor).
Clojure resgata conceitos sobre concorrencia ja resolvidos nos anos 50 quando JohnMcCarthy, criador do LISP usou a linguagem em pesquisas com inteligencia artificial, tendo inclusive cunhado o termo "Cloud Computing" ou "Provedor de Serviços" baseado na abstração dos sistemas de distribuição eletrico e hidraulico em cidades .
Podemos dizer que Clojure, juntamente com Scala e Erlang são as linguagens cuja classe define um novo paradigma chamado , POC(Programação Orientada a Concorrencia) e que são de suma importancia para a Cloud Computing.
Resumindo...
- Linguagens como Clojure, CommonLisp, Haskell, geram codigo puramente funcional, que é mais plugavel e facil de testar!
- Com Clojure você pode utilizar o pacote de concorrencia (JSR-166) de forma bem clara, inclusive englobando o padrão Fork/Join(Divisão e Conquista) ou utilizando Executores(Master/Slave).
- Com Clojure você se beneficia de uma API explicita e mutavel para se adequar as suas necessidades de concorrencia e escalabilidade!
Links Interessantes: