Quem já usou Scala?

Livro já tem, aquele lá do Artima, e o manual da linguagem é MUITO bom :slight_smile:

Que manual é esse? Aquele em PDF do site?

E esse livro? É bom mesmo?

Vc tem alguma opinião entre Ruby e Scala, Maurício?

É, aquele PDFzinho de 150 páginas :slight_smile:

O livro eu não sei ainda porque não comprei o meu, mas eu boto fé que vai sair alguma coisa interessante sim. Quanto a Scala ou Ruby, infelizmente eu ainda não conheço Scala o suficiente pra tomar uma posiçao quanto a isso.

[quote=saoj]Começo a desconfiar que Ruby dá um pau no Scala. Se eu estiver enganado por favor se manifestem.

Scala não tem metaprogramação.

Scala não tem continue nem break.

Scala não tem suporte a regex no nível da linguagem. (parece tão ruim quanto Java)

Scala é distribuído em jars, assim como Java. (Se uma biblioteca está com algum bug, vc tem que baixar o source, modificar e gerar o jar novamente. Com Ruby vc faz isso em um segundo!)

Scala não possui nenhum livro e nenhum suporte. (ok, isso vai mudar em breve)

A sintaxe de Scala é mais complexa e enrolada que a sintaxe de Ruby.

Espero estar enganado…[/quote]

Legal as suas considerações saoj!

Embora eu ainda não conheça bem as duas linguagens pra poder julgar se elas são válidas ou não, achei muito legal
suas observações!

Se mais pessoas conhecerem as duas linguagens para dar este feedback tbm, seria legal. Mas é claro, sem flamewar, por favor! :slight_smile:
A não ser que seja o flamewar-arte, o flamewar moleque, bem jogado, e onde principalmente, ninguem leva nada para o pessoal!

[]'s

Não precisa :slight_smile:

Foi desabilitado nas últimas versões por problemas, mas volta.

Você pode interpretar arquivos .scala sem problema. E a dist, embora em jars, vem com os fontes.

Além do livro já comentado, queria saber o que você entende por suporte.

Depende.

Agora, o contrário:

[list]Scala tem object[/list]
[list]Scala permite isolar melhor a visibilidade de classes e métodos[/list]
[list]Scala foi feita pra rodar na JVM e na CLR[/list]
[list]Scala permite funcionalidades como duck typing mantendo suporte a static typing[/list]

[quote=mister__m] Sim, já fiz até um protótipo de quão mais limpa, legível e poderosa a JSR-310 se fosse implementada em Scala.
[/quote]
Por falar nisso, como está a JSR-310 (Date and Time API) ? Se eu me lembro bem, vocês estavam para lançar um early draft. Já foi lançado ?

Referente ao protótipo que você criou, eu entendi o que você quis dizer com mais limpa e legível, mas fiquei em dúvida em que sentido uma implementação seria mais poderosa em Scala ?

Obrigado.

Indo relativamente bem:

jsr-310.dev.java.net

Ainda não.

Algumas features da linguagem, como um sistema de tipos bem mais completo e robusto, permitem fazer coisas que realmente não podem ser expressas hoje em Java, tanto na implementação da JSR como no uso. Algum dia esse protótipo vai ver a luz do dia e isso vai ser mais claro :slight_smile:

Indo relativamente bem:

jsr-310.dev.java.net

Ainda não.

Algumas features da linguagem, como um sistema de tipos bem mais completo e robusto, permitem fazer coisas que realmente não podem ser expressas hoje em Java, tanto na implementação da JSR como no uso. Algum dia esse protótipo vai ver a luz do dia e isso vai ser mais claro :-)[/quote]
Obrigado pelas respostas.

Estou aguardando o protótipo ver a luz do dia. :wink:

Pessoal, qual das novas linguagens dinâmicas disponíveis para a plataforma Java vocês recomendariam aprender: Groovy ou Scala?
Quais as vantagens/desvantagens de cada uma? O que é possível - e o que não é - fazer com cada uma delas?
Abraços

Recomendaria, por ordem de prioridade:

  1. JRuby
  2. Scala

Groovy estava na moda, mas não está mais :stuck_out_tongue:

Em um sistema em que dou manutenção, um dos programadores pôs Groovy em vez de Javascript (Rhino) para interpretar pedaços de código que ficavam em arquivos XML. Infelizmente o Groovy é muito, muito mais pesado que o Rhino para esse tipo de aplicação para a qual foi usado (mapear arquivos texto para arquivos XML usando regras definidas em arquivos de configuração), e estamos seriamente pensando em trocar o Groovy pelo Rhino, já que não usamos nem 1% do que ele permite fazer.

Mas Scala já possui algum “database-driven framework”, como o Grails? Quais as outras possíveis áreas de aplicação?
Em resumo: além do já citado desempenho, e além de todos os recursos disponíveis na linguagem, que outros atrativos ela possui?

Scala não é uma linguagem dinâmica e justamente aí é que está o potencial.

De verdade, a idéia do Scala é tomar o lugar do Java como linguagem estática mainstream. As outras opções cabem onde se deve usar linguagens dinâmicas.

Com a dificuldade de incluir novas features de linguagem no Java 7 (refiro-me à resistência da comunidade), existe uma chance real de Scala crescer, já que muitos grandes defensores do Java, como Neal Gafter, estão considerando usar Scala quando possível.

É verdade, me toquei nisso agora depois que li a introdução à linguagem.

Isso responde minhas dúvidas :slight_smile:

[quote=mister__m]

De verdade, a idéia do Scala é tomar o lugar do Java como linguagem estática mainstream. As outras opções cabem onde se deve usar linguagens dinâmicas.

Com a dificuldade de incluir novas features de linguagem no Java 7 (refiro-me à resistência da comunidade), existe uma chance real de Scala crescer, já que muitos grandes defensores do Java, como Neal Gafter, estão considerando usar Scala quando possível.[/quote]

Estou vendo que o Java 7 está virando um monstrinho mas não sabia que o negócio com Scala estava pegando desse jeito!