Recientemente comencé a aprender a programar en Scala, y hasta ahora ha sido divertido. Realmente me gusta la capacidad de declarar funciones dentro de otra función que parece algo intuitivo.
Un motivo favorito que tengo sobre Scala es el hecho de que Scala requiere un tipo de retorno explícito en sus funciones . Y siento que esto obstaculiza la expresividad del lenguaje. También es difícil programar con ese requisito. Tal vez sea porque vengo de la zona de confort de Javascript y Ruby. Pero para un lenguaje como Scala que tendrá toneladas de funciones conectadas en una aplicación, no puedo concebir cómo hago una lluvia de ideas en mi cabeza exactamente qué tipo de función particular que estoy escribiendo debería regresar con recurrencias después de las recurrencias.
Este requisito de declaración explícita de tipo de retorno en funciones, no me molesta para lenguajes como Java y C ++. Las recursiones en Java y C ++, cuando ocurrieron, a menudo se trataron con 2 a 3 funciones como máximo. Nunca varias funciones encadenadas juntas como Scala.
Entonces, me pregunto si hay una buena razón por la cual Scala debería tener el requisito de que las funciones tengan un tipo de retorno explícito.