Pergunta

Depois de descobrir Clojure Eu passei os últimos dias imersos nele.

Que tipos de projetos se prestam a Java sobre Clojure, vice-versa, e em combinação?

O que são exemplos de programas que você nunca teria tentado antes Clojure?

Foi útil?

Solução

Clojure se presta bem a concorrente programação . Ele fornece tais ferramentas maravilhosas para lidar com enfiar como Software Transactional Memória e referências mutáveis.

Como uma demonstração para o Grupo do desenvolvedor ocidental Mass, Rich Hickey fez uma simulação de colônia de formigas em que cada formiga era seu próprio segmento e todas as variáveis ??eram imutáveis. Mesmo com um número muito grande de fios coisas funcionou muito bem. Isto não é só porque Rich é um programador incrível, é também porque ele não precisa se preocupar com o bloqueio ao escrever seu código. Você pode conferir sua apresentação na colônia de formigas aqui .

Outras dicas

Se você estiver indo para tentar programação concorrente, então eu acho que Clojure é muito melhor do que o que você começa a partir de Java para fora da caixa. Dê uma olhada nesta apresentação para ver porquê:

http://blip.tv/file/812787

Eu documentado meus primeiros 20 dias com Clojure no meu blog

http://loufranco.com/blog/files /category-20-days-of-clojure.html

Eu comecei com as palestras SICP e, em seguida, construiu um paralelo número peneira prime. Eu também brinquei com macros.

Que tipos de projetos se prestam ao uso de Java sobre Clojure, vice versa, ou em combinação?

Um projeto onde uma ferramenta de construção de GUI (Tal como Matisse no Netbeans) é necessário seria um caso em que Java pode ainda ser necessária. Qualquer coisa feita em Java pode ser feito em Clojure bastante prontamente, com proxy e Gen-se classe necessário, ou simplesmente acessando Java como necessário (., doto, novo, etc.). este permite que projetos Clojure usar facilmente bibliotecas Java ou legado de código Java.

Quais os programas que você nunca teria tentado antes Clojure?

Antes de encontrar Clojure, eu estava contemplando um projeto que exigiu JDBC, seria executado em um servlet recipiente, e eu esperava fazer um monte de desenvolvimento iterativo porque não estava claro o que faria métodos trabalho para os dados que eu precisava para analisar. Eu colocá-lo em banho-maria, porque eu não tem tempo ou paciência para Implantar-validação de compilação Debug- ciclismo que Java requer. Eu tenho agora escrito a aplicação em Clojure, e eu estou muito satisfeito com a facilidade de fazer alterações na mosca e sendo capaz de examinar os resultados imediatamente. para não mencionar a alegria de programação e ser livre-lock libertado a partir de ter de desenvolver (e hierarquias refactor) classe.

- "MikeM" através do clojure@googlegroups.com mailinglist

Que tipos de projetos se prestam a Java sobre Clojure, vice-versa, e em combinação?

Se você quer desenvolver uma estrutura que é para ser consumido por Java e Clojure, eu descobri escrevendo as principais abstrações (classes interfaces base ad) em Java para ser preferível a escrevê-los em Clojure (I encontrar gen-class do Clojure para ser um pouco entediante e bastante uso proxy).

Se você é um usuário do Hibernate ou qualquer outra estrutura que faz uso pesado de Java anotações sem oferecer uma alternativa programática, você terá alguns problemas, já que não é trivial para emular POJOs anotados com estruturas de dados do Clojure.

Além disso, eu experimentei há casos de uso para o qual Clojure é menos adequado do que Java; você tem que lidar com a perda de tipagem estática, é claro, que se sente um pouco desconcertante no início, mas tende a desaparecer.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top