¿Por qué los ingenieros de software de Google no escriben código en Scala o Clojure?

Personalmente, encuentro que escribir en Scala es mucho más agradable que escribir en Java. Para mí, como desarrollador individual, tiene sentido optimizar para mi propia comodidad.

Si estaba comenzando un nuevo proyecto, se aplican consideraciones similares, pero también tengo que tener en cuenta las preferencias de los otros desarrolladores con los que estoy trabajando.

Google es una situación completamente diferente, por lo que lo que parece razonable en lo pequeño, no lo es en lo grande. Considere Java vs (Scala | Clojure) desde el punto de vista de una organización masiva, con una gran base de código existente, y comienza a ser la opción obvia.

Incluso teniendo en cuenta la interoperabilidad de estos lenguajes, hay muchas otras cosas que deben resolverse al tomar una decisión como esta. Google ya tiene una guía de estilo muy detallada para la programación Java, que representa una cantidad considerable de trabajo que tendría que rehacerse para cada nuevo idioma. Probablemente podrían reutilizar parte de él para Java, pero Clojure es un LISP, por lo que comenzarían prácticamente desde cero.

Básicamente, cambiar ahora sería una gran cantidad de esfuerzo, y puede o no valer la pena a largo plazo. Un nuevo departamento, comenzando con muy poco código preexistente, podría cambiar, pero eso también tendería a aislar ese departamento porque aumenta la dificultad de transferir ingenieros dentro y fuera de ese departamento.

¿Sería genial? Si.

¿Tiene sentido realizar el cambio, dado el tamaño de la base de código de Google, el número de ingenieros, etc.? Solo Google lo sabe.