¿Es Scala el lenguaje del futuro?

¿Qué quieres decir con eso?

  1. ¿Se convertirá en el único lenguaje dominante que todos usan? Nunca habrá un idioma del futuro.
  2. ¿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.
  3. ¿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.

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.

Yo deseo. Es un lenguaje sorprendente, rico con un sistema de tipo poderoso. Ya tiene excelentes herramientas IDE (IntelliJ IDEA). Sin embargo, realmente siento que Scala es tan poderoso como para ser intimidante.

Desafortunadamente, en retrospectiva, nunca es el idioma más rico en funciones lo que se convierte en el más popular.

Es difícil estimar la popularidad real y el uso de los lenguajes de programación en el mundo real, y la mayoría de los índices no están de acuerdo en nada, excepto en los 5 primeros, y por lo general basan sus datos en búsquedas de Google, lo que parece ser una fuente poco confiable.

Según yo,

70% Se podría regalar un mejor futuro!

Se sabe que Scala tiene más productividad. Supongo que Scala es mejor que Java. Y por su estado actual, es mejor para pequeños grupos de desarrolladores.
Pero el problema es que Scala tiene recursos y documentación limitados que hacen que los desarrolladores que se inscriban en ella se sientan confundidos. También tiene compiladores demasiado lentos y después de mi experiencia con Scala veo que la depuración es la parte más complicada aquí. Pero creo que estos problemas terminarán en futuras actualizaciones. Prefiero a Scala porque la complejidad de Scala es muy baja en comparación. a lenguajes como java.

No, no lo es. Después de 13 años, Scala aún no ha irrumpido en el nivel superior de lenguajes de programación (que incluye Java, Python, JavaScript, C #, C ++, PHP, C, Ruby, Perl). Ha tenido mucho tiempo. ¿¿¿Si no es ahora, entonces cuando???

Además, Scala es un lenguaje muy grande y muy complejo. Ya tenemos un lenguaje grande y complejo en el Top 10; no necesitamos otro La industria de la programación ahora se está moviendo hacia lenguajes más pequeños y más simples. Go es el último ejemplo. Otros idiomas de moda que evitan los grandes y complejos son Clojure, Dart, Elixir, Elm, Kotlin.

Y con Java 8 y 9, hay menos razones para ir con Scala.

¿Es Scala el lenguaje del futuro?

El (único) lenguaje para el futuro es demasiado. Scala es un lenguaje sólido. Es rápido, tiene algunos buenos marcos, pero no es realmente pragmático. Si bien es bueno para el manejo de big data, yo elegiría otros idiomas sobre él en muchos otros casos de uso.

Si te gusta Scala aprendelo. Creo que vale la pena usarlo. Pero no entres en una burbuja. Mire también a la izquierda y a la derecha y pruebe otras cosas también.

No. Creo que es, como Haskell, un pionero para otros idiomas.

De lo contrario, no creo que sea lo suficientemente amigable como para que los desarrolladores generales simplemente lo adopten; No creo que ofrezca mucho sobre Java 8/9; y no ofrece suficientes características especiales y únicas de valor agregado como para impulsar un estado especial y una adopción impulsada por la demanda.