lista de comprensión, para la comprensión.
por ejemplo en java escribes:
int myVar;
if (condition) {
myVar = //some value
}
else {
myVar = //some other value
}
En scala, el mismo código, se escribe mucho más elegantemente (como python) como:
int myVar = (//some value) if (condition) else // other value;
y hecho.
Scala ofrece tanto que Java no. Simplemente no hay comparación en absoluto. El único problema es que las personas están más familiarizadas con Java (b / c, eso es lo que enseñan en las clases de CS) y aún no son tan hábiles con el paradigma Scala.
Scala tiene una recursión de cola, puede devolver tuplas (algo que podría estar llegando en Java 8, creo).
No es una comparación. Scala fue desarrollada por Martin Ordersky, quien trabajó en el equipo central de Java Generics.
Scala es solo un idioma muy superior. Eso es todo al respecto. Las personas que dicen lo contrario simplemente no han explorado Scala lo suficiente como para saberlo mejor.
Arriba, quise decir optimización de recursión de cola (que la JVM no puede hacer como el compilador de Scala).
Scala también compila y ejecuta más rápido que las aplicaciones JVM (Sí, es cierto). Sin mencionar los marcos. Usamos Tomcat, por ejemplo, e implementamos algunos servlets para manejar REST.
Una cosa que Tomcat no puede hacer son las operaciones asincrónicas que requieren E / S sin bloqueo. Para esto, los desarrolladores de JAVA suelen inventar una solución alternativa utilizando una cola de mensajes (envía el mensaje a la cola, y algún otro proceso o hilo lo recoge y hace lo que quieras en segundo plano).
Desafortunadamente, este método es cr * p, y hackea las limitaciones de implementar servlets Java en Tomcat.
Ve a ver akka + spray. Utiliza los actores de scala (los actores son como hilos, excepto que la única forma en que pueden comunicarse es a través de mensajes).
Y hecho, las llamadas REST asincrónicas se hicieron fáciles. Tarea en segundo plano de larga duración? No hay problema. Simplemente dispara y olvida, y realiza algunas encuestas REST para verificar su estado desde el front-end de vez en cuando.
Si todavía usa Java y cree que es mejor que Scala, también puede dejar de usar su computadora para escribir y volver a los días de las plumas y escribir a la luz de las velas. Java es básicamente antediluviano en comparación con Scala.