Scala, Scala, Scala
Estava eu vagando pelo meu Google Reader, e encontrei este post falando sobre uma comparação ”for fun” entra Java, C# e F# em alguns aspectos comuns em linguagens funcionais.
Então, pra complementar o post interessante, resolvi gerar exatamente os mesmos 3 exemplos usando Scala. Scala é uma linguagem funcional staticamente tipada, e tem seu código executado na VM Java. Isso se dá pelo fato do compilador Scala gerar Byte code.
Logo, Scala é considerada uma das linguagens que rodam na plataforma Java de forma mais transparente quando “conversa” com o Java. Você simplesmente faz um import de uma classe Java e usa no seu programa Scala, e vice-versa. Veja aqui neste post um pequeno comparativo entra as linguagens que podem rodar na plataforma Java (leia-se JVM).
Voltando aos exemplos do post do Mark Needham, primeiro temos:
1. Dados os números de 1 a 5, retornar o quadrado de cada elemento.
List[Int](1,2,3,4,5) map (x => Console.println(x*x))
2. Dados os números de 1 a 5, retornar apenas aqueles maiores que 3.
for (i <- numbers if i > 3) yield Console.println(i)
3. Dada uma lista dos números de 1 a 5, some todos e imprima o resultado.
numbers.reduceLeft((x,y) => x + y)
Para os exemplos 2 e 3, assume-se :
val numbers = List[Int](1,2,3,4,5)
Simples, não? De fato ficou mais simples que Java, C# e F# juntas. ;)
Scala é uma linguagem fantástica que nas horas vagas tenho estudado. Me considero bem alternativo nesse aspecto, e faltou pouco um dos projetos que participei para uma grande instituição governamental ser escritom Ruby on Rails, por exemplo. Infelizmente tenho a impressão de que este negócio vai demorar de decolar por aqui (Brasil), porém mundo a fora pode-se encontrar gente especializada no assunto e até grandes sites web 2.0 usando a tecnologia. Qualquer dia desse chego lá!
Pretendo em breve postar mais coisas sobre Scala, incluindo o seu principal framework web, o Lift, assim como as recente integrações com o Tapestry.
[...] resolvi re-ler um post chamado Scala, Scala, Scala publicado em Janeiro, e me senti un tanto quanto envergonhado com o que vi. Então resolvi [...]
Update Scala, Scala, Scala « Codemountain
fevereiro 24, 2009 em 4:12 am
[...] 23, 2009 in Java, scala | by paulosuzart Isso, mais uma vez vamos falar do Scala, Scala, Scala. Este post rendeu. E rende até hoje pequenas discussões interessantes com [...]
Scala, Scala, Scala, em Java « Codemountain
março 23, 2009 em 10:49 pm
[...] janeiro de 2009, no meu primeiro post sobre Scala, venho na verdade falando de um paradigma desafortunadamente não ensinado na maioria das [...]
5 coisas para tornar o seu cérebro funcional « Codemountain, Paulo Suzart's Blog
janeiro 1, 2011 em 3:58 pm