compreensão de lista, para compreensão.
por exemplo, em java, você escreve:
int myVar;
if (condition) {
myVar = //some value
}
else {
myVar = //some other value
}
Em scala, o mesmo código, é muito mais elegantemente escrito (como python) como:
int myVar = (//some value) if (condition) else // other value;
E feito.
Há tanta coisa que o Scala oferece que o Java não. Simplesmente não há comparação. O único problema é que as pessoas estão mais familiarizadas com Java (b / c é o que ensinam nas aulas de CS) e ainda não são tão habilidosas com o paradigma Scala.
Scala tem recursão de cauda, pode retornar tuplas (algo que pode estar chegando no Java 8, eu acho).
Não é uma comparação. O Scala foi desenvolvido por Martin Ordersky, que trabalhou na equipe principal de Java Generics.
Scala é apenas uma linguagem muito superior. É tudo o que há para isso. As pessoas que dizem o contrário simplesmente não exploraram Scala o suficiente para conhecer melhor.
Acima, eu quis dizer otimização de recursão de cauda (que a JVM não pode fazer da maneira que o compilador da Scala).
O Scala também compila e executa mais rapidamente que os aplicativos JVM (Sim, é verdade). Sem mencionar as estruturas. Usamos o Tomcat, por exemplo, e implantamos algumas servelets para manipular o REST.
Uma coisa que o Tomcat não pode fazer são as operações assíncronas que requerem E / S sem bloqueio. Para isso, os desenvolvedores de JAVA normalmente inventaram uma solução alternativa usando uma fila de mensagens (envie a mensagem para a fila, e algum outro processo ou thread a pega e faz o que quiser em segundo plano).
Infelizmente, esse método é cr * p, e um hack sobre as limitações da implantação de servlets Java no Tomcat.
Vá conferir akka + spray. Ele usa os atores da scala (os atores são exatamente como os Threads, exceto que a única maneira de se comunicar é através de mensagens).
E pronto, as chamadas REST assíncronas são fáceis. Tarefa em segundo plano de longa execução? Sem problemas. Basta acionar e esquecer e fazer algumas pesquisas REST para verificar seu status no front-end de vez em quando.
Se você ainda está usando Java e acha que é melhor que o scala, é melhor parar de usar o computador para digitar e voltar aos dias das canetas de pena e escrever à luz de velas. Java é basicamente antediluviano em comparação com Scala.