Scala para proyectos reales? Si, absolutamente.
Primero, como toda Java todavía está disponible, la aplicación puede usar nuestras bibliotecas comunes existentes. Estas bibliotecas se han creado en Java durante los últimos 10 años, y son importantes para acceder a otros sistemas dentro de la empresa.
En segundo lugar, lo más importante acerca de las aplicaciones empresariales es la adaptabilidad. Volverse demasiado rígido es lo que hace que la mayoría de las aplicaciones empresariales decaigan y eventualmente mueran. Hay dos problemas que conducen a esta rigidez, y Scala ayuda a evitarlos. Un problema es solo el gran volumen de código. Java funciona mejor que C o C++, pero aún requiere muchas más líneas de código para implementar una aplicación que Scala.
Con Java, combatir el problema de tamaño de código requiere mayores grados de estructura: marcos, bibliotecas, fábricas personalizables, etc. Es por eso que implementamos aplicaciones Java EE (típicamente basadas en Spring) que tienen de veinte a cincuenta archivos JAR en su " lib "directorios. Esa estructura en sí misma es necesaria para terminar la aplicación, pero puede crear su propio problema en términos de complejidad conceptual.
Scala no es inmune a una sobrecarga de complejidad conceptual, pero el estilo de programación común en Scala tiende a programas más pequeños, más concretos en lugar de bibliotecas para marcos para construir DSL.
Por supuesto, si realmente necesita bibliotecas para frameworks para construir DSL, bueno, ahí es donde poder volver a llamar a Java es útil.
No creo que estas preguntas sean "malas" en absoluto. Mirando los ejemplos de Scala y los tutoriales, hay mucho énfasis en cómo hacer cosas como, por ejemplo, escribir el algoritmo Quicksort de una manera inteligente. Cuando escribo una aplicación de "empresa" (por la falta de una palabra mejor), no me importa este tipo de cosas –
... Este énfasis en ejemplos "académicos" en oposición a "empresas" me hizo pensar "Es vale la pena investigar más a Scala, o simplemente son muchos los académicos que se entusiasman con lo terriblemente listos que son todos ". La respuesta "los sistemas reales se están construyendo en Scala" es MUY importante, en mi humilde opinión –
No, releí lo que escribí, estás hablando de los términos académico y empresarial, y todo lo que hace es agitarlo a mano, pero los requisitos son los que cuentan . Enterprise/Academic son tontas post en movimiento, que invalidan cualquier debate o posible respuesta. – Saem