Latest web development tutorials

Introducción a la Scala

Scala es la abreviatura de idioma escalable, es un lenguaje de programación multi-paradigma

Escuela Politécnica Federal de Lausana (EPFL) en 2001, el trabajo basado en el embudo Martin Odersky comenzó a diseñar Scala.

Embudo es un lenguaje de programación pensado para la programación funcional y redes de Petri que se propone.

el trabajo previo Odersky es genérico Java y javac (Sun Java compilador). Scala plataforma Java a finales de estreno de 2003 / principios de 2004. Plataforma .NET Scala lanzado en junio de 2004. La segunda versión, versión 2.0, lanzado en marzo de 2006.

A septiembre de 2009, la última versión es la versión 2.7.6. Scala 2.8 características que se esperan incluyen biblioteca regrabable Scala (Scala biblioteca de fondos), el nombre y los parámetros por defecto del método, el paquete de objetos (objeto de paquete), y continuación.

Abril de 2009, Twitter anunció que habían pasado la mayor parte del programa de servicios de fondo para migrar desde Ruby a Scala, el resto se va a migrar. Además, Wattzon ha declarado públicamente, toda la plataforma se basa en la infraestructura Scala ya preparado.


característica Scala

características orientadas a objetos

Scala es un lenguaje orientado a objetos puro, cada valor es un objeto. Tipos de objetos de datos y comportamientos descritos por clases y rasgos.

Resumen mecanismo de extensión de clase, hay dos maneras: Una forma es a subclase herencia, otro enfoque es el mecanismo de mezcla flexible. Las dos formas de evitar los problemas de la herencia múltiple.

Programación funcional

Scala es un lenguaje funcional, que también puede funcionar como un valor a utilizar. Scala proporciona una sintaxis de peso ligero para definir funciones anónimas, es compatible con funciones de orden superior, permite anidada multifunción, y apoya currificación. El caso de la clase Scala y su concordancia con el modelo integrado es equivalente al lenguaje de programación funcional tipos algebraicos de uso común.

Por otra parte, los programadores pueden utilizar la coincidencia de patrones de Scala, escribir código para manejar datos XML similares a las expresiones regulares.

tipo estático

Scala tiene sistema de tipos, a través de la verificación en tiempo de compilación para garantizar la seguridad del código y la consistencia. sistema de tipo específico es compatible con las siguientes características:

  • clases genéricas
  • covarianza y
  • Llamada
  • Límites inferior y superior del parámetro de tipo
  • Las clases y tipos abstractos como miembros de objetos
  • tipo compuesto
  • Citar a mí mismo cuando especificar explícitamente el tipo
  • vista
  • método polimórfico

expansibilidad

Scala está diseñado para defender el hecho de que, en la práctica, para desarrollar un campos de aplicación específicos a menudo requieren un lenguaje específico en el campo de extensión. Scala ofrece una combinación única de mecanismos del lenguaje puede ser en forma de bibliotecas sin problemas fácilmente añadir nuevas construcciones de lenguaje:

  • Cualquier método puede ser utilizado como un operador de prefijo o sufijo
  • Se puede configurar de forma automática de acuerdo con el tipo deseado de cierre.

concurrencia

Scala como su modelo de concurrencia utilizando Actor, Actor entidad hilo similar a través del correo electrónico para enviar y recibir mensajes. Actor puede volver a utilizar los hilos, que puede ser utilizado millones Actor en un programa, pero sólo a crear miles de hilos. En la versión 2.10 después de usar Akka como su defecto Actor lograr.


¿Quién utiliza Scala

  • Abril de 2009, Twitter anunció que habían pasado la mayor parte del programa de servicios de fondo para migrar desde Ruby a Scala, el resto se va a migrar.
  • Además, Wattzon ha declarado públicamente, toda la plataforma se basa en la infraestructura Scala ya preparado.
  • UBS a Scala para los productos generales.
  • Coursera como un servidor usando el lenguaje Scala.

framework web Scala

Aquí están dos framework de aplicaciones web más popular de Scala: