¿Qué quieres decir con eso?
- ¿Se convertirá en el único lenguaje dominante que todos usan? Nunca habrá un idioma del futuro.
- ¿Se convertirá en el lenguaje dominante de JVM? No muestra ninguna señal de eso. Creo que habría que ser más radical y menos complicado.
- ¿El lenguaje del futuro de la forma en que América solía hablar de “El automóvil / casa / avión del futuro”? ¿Un modelo que muestre cómo se diseñarán los idiomas en el futuro? Bueno, sí, puede ser. No es un “lenguaje conceptual” tan bueno como podría haber sido, por razones similares que mencioné en el punto anterior. Scala está demasiado cargada con las complicaciones del pasado y del presente como para ser un modelo claro para el futuro. Dicho esto, muchas de sus características son buenas demostraciones de cosas que las personas nunca hubieran pensado que se podrían lograr en un lenguaje práctico de JVM. Scala ya ha influido en el diseño de al menos un nuevo idioma (Kotlin) y puede tener un efecto en más.
Cualquiera que piense que puede decirte definitivamente por qué Scala no ha tenido más éxito más allá de su nicho establecido está engañado (lo que no evitará que lo utilicen como una excusa para sacar a relucir sus obsesiones y prejuicios). Entonces lo que sigue es enteramente mi opinión.
Hay un lenguaje limpio, poderoso, basado en objetos pero fuertemente, coherentemente funcional, atrapado dentro de Scala, que lucha por salir. Ese lenguaje habría sido una mejor opción 3 y probablemente habría tenido más posibilidades de éxito como opción 2. Tal como está, las complicaciones causadas por tratar de ser un mejor Java y al mismo tiempo ser un lenguaje de programación funcional ambicioso con un tipo Turing-complete Sistema: todo hecho con controles deslizantes definidos por el usuario para permitirle elegir la cantidad de uno u otro que desea, lo ha pesado. Como tiene una mala curación, cargar el compilador y la cadena de herramientas principales con deuda técnica.
Nadie te agradece por crear un lenguaje que puede ser un Java más limpio. La base de usuarios central de Java está acostumbrada a sus verrugas y no ve razón para cambiar solo por una versión más ordenada de lo que ya hacen. Eso es principalmente lo que Kotlin es, una Java más limpia, y luchará por ser más que un lenguaje de nicho.
- Tecnología: ¿Es correcto decir que hemos progresado menos desde el año 2000 hasta hoy que en las décadas anteriores?
- ¿Es Asia el futuro?
- ¿Qué idiomas serán los más solicitados en los próximos 10 o 20 años?
- ¿Cuál será el evento más significativo del siglo 22?
- ¿Cuál es el futuro de la geoinformática?
Scala tiene algunas características muy interesantes y si hubiera solo unas pocas menos, todas las restantes serían mucho más simples y el lenguaje completo sería coherente. Como están las cosas…
Los implícitos son interesantes. Los rasgos son interesantes. Un sistema de tipos realmente poderoso se está interceptando. ¿Implícitos y rasgos y el sistema de tipos y todos los modelos de clase de Java? Tener todos esos elementos hizo que cada uno de ellos fuera más complejo y paralizara la inferencia de tipo de Scala Si solo uno de ellos no estuviera allí, todo el idioma sería mejor.
Así que creo que la mejor manera de que Scala sea el futuro es la opción 3, pero no funciona tan bien como podría haberlo hecho.