Un lenguaje de programación de propósito general

Scala
Gratis
Offline
http://www.scala-lang.org/

Scala es un lenguaje de programación de propósito general que combina características de la programación funcional y de la programación orientada a objetos y que es compatible con Java.

Scala combina programación orientada a objetos y funcional en un lenguaje conciso de alto nivel. Los tipos estáticos de Scala ayudan a evitar errores en aplicaciones complejas, y sus tiempos de ejecución JVM y JavaScript le permiten construir sistemas de alto rendimiento con fácil acceso a enormes ecosistemas de bibliotecas.

  • INTEROPERA JAVA INCONSÚTIL

Scala se ejecuta en la JVM, por lo que las pilas de Java y Scala se pueden mezclar libremente para una integración totalmente fluida.

  • INFERENCIA DE TIPO

Entonces el sistema de tipos no se siente tan estático. No trabaje para el sistema de tipos. ¡Deje que el sistema de tipos trabaje para usted!

  • CONCURRENCIA Y DISTRIBUCIÓN

​​​​​​​Use operaciones de datos paralelos en colecciones, use actores para concurrencia y distribución, o futuros para programación asincrónica.

  • RASGOS

Combina la flexibilidad de las interfaces de estilo Java con el poder de las clases. Piense en la herencia múltiple basada en principios.

  • LA COINCIDENCIA DE PATRONES

​​​​​​​Piense "cambiar" a los esteroides. Empareja contra jerarquías de clase, secuencias y más.

  • FUNCIONES DE ORDEN SUPERIOR

Las funciones son objetos de primera clase. Componga con seguridad de tipo garantizada. Úselos en cualquier lugar, páselos a cualquier cosa.

Ejecute Scala en su navegador
¡Scastie es Scala + sbt en tu navegador! Puede usar cualquier versión de Scala, o incluso backends alternativos como Dotty, Scala.js, Scala Native y Typelevel Scala. Puedes usar cualquier biblioteca publicada. Puede guardar y compartir programas / compilaciones de Scala con cualquiera.

Scala está orientado a objetos
Scala es un lenguaje puro orientado a objetos en el sentido de que cada valor es un objeto. Los tipos y comportamientos de los objetos se describen por clases y rasgos. Las clases se pueden ampliar subclasificando y utilizando un mecanismo de composición flexible basado en mixin como un reemplazo limpio para la herencia múltiple.

Scala es funcional
Scala también es un lenguaje funcional en el sentido de que cada función es un valor. Scala proporciona una sintaxis ligera para definir funciones anónimas, admite funciones de orden superior, permite que las funciones se aniden y admite currículum. Las clases de casos de Scala y su compatibilidad integrada para la coincidencia de patrones proporcionan la funcionalidad de los tipos algebraicos, que se utilizan en muchos lenguajes funcionales. Los objetos Singleton proporcionan una forma conveniente de agrupar funciones que no son miembros de una clase.

Además, la noción de coincidencia de patrones de Scala se extiende naturalmente al procesamiento de datos XML con la ayuda de ignorar patrones de secuencia, a modo de extensión general a través de objetos extractores. En este contexto, las comprensiones son útiles para formular consultas. Estas características hacen que Scala sea ideal para desarrollar aplicaciones como servicios web.