Latest web development tutorials

Introdução ao Scala

Scala é curto para Idioma Scalable, é uma linguagem de programação multi-paradigma

Instituto Federal de Tecnologia de Lausanne (EPFL), em 2001, o trabalho baseia-Funil Martin Odersky começou a projetar Scala.

Funil é uma linguagem de programação pensado para programação funcional e redes de Petri é proposto.

trabalho anterior Odersky é Java genérico e javac (compilador Sun Java). plataforma Scala Java na versão final de 2003 / início de 2004. .NET Platform Scala lançado em Junho de 2004. A segunda versão da linguagem, v2.0, lançado em Março de 2006.

Em setembro de 2009, a versão mais recente é a versão 2.7.6. Scala 2,8 características esperadas incluem biblioteca regravável Scala (Scala coleções biblioteca), com o nome e parâmetros padrão do método, o pacote de objeto (objeto de pacote), e continuação.

Abril de 2009, o Twitter anunciou que passara a maior parte do programa de back-end para migrar de Ruby para Scala, o resto vai migrar. Além disso, Wattzon declarou publicamente, toda a plataforma é baseada na infra-estrutura Scala já preparada.


recurso Scala

recursos orientados a objetos

Scala é uma linguagem orientada a objetos pura, cada valor é um objeto. Objeto tipos de dados e comportamentos descritos por classes e traços.

mecanismo de extensão classe abstrata, existem duas maneiras: Uma maneira é a subclasse de herança, uma outra aproximação é mecanismo de mistura flexível. As duas maneiras de evitar os problemas de herança múltipla.

Programação funcional

Scala é uma linguagem funcional, que também pode funcionar como um valor a ser usado. Scala fornece uma sintaxe leve para a definição de funções anônimas, ele suporta funções de ordem superior, permite multi-função aninhada, e suporta currying. caso classe de Scala e sua correspondência padrão built-in é equivalente a linguagem de programação funcional tipos algébricos comumente usados.

Além disso, os programadores podem usar correspondência de padrões de Scala, escrever código para lidar com dados XML semelhantes a expressões comuns.

tipo estático

Scala tem sistema de tipo, através de tempo de compilação verificação para garantir que o código de segurança e consistência. sistema de tipo específico suporta os seguintes recursos:

  • classe genérica
  • covariância e
  • callout
  • Limites superior e inferior do parâmetro de tipo
  • As classes e tipos abstratos como membros do objeto
  • tipo composto
  • Citações de mim mesmo quando especificar explicitamente o tipo
  • vista
  • método polimórfico

expansibilidade

Scala é projetado para defender o fato de que, na prática, para desenvolver um campos de aplicação específicos, muitas vezes exigem linguagem específica no campo da extensão. Scala fornece uma combinação única de mecanismos de linguagem pode ser na forma de bibliotecas perfeitamente facilmente adicionar novas construções de linguagem:

  • Qualquer método pode ser utilizado como um operador de prefixo ou sufixo
  • Ele pode ser configurado automaticamente de acordo com o tipo de fecho que se destina.

simultaneidade

Scala como o seu modelo de concorrência usando Ator, Ator entidade rosca semelhante através do correio para enviar e receber mensagens. Ator pode reutilizar os threads, ele pode ser usado milhões ator em um programa, mas apenas criar milhares de threads. Na versão 2.10 após o uso de Akka como seu Ator padrão alcançar.


Quem usa Scala

  • Abril de 2009, o Twitter anunciou que passara a maior parte do programa de back-end para migrar de Ruby para Scala, o resto vai migrar.
  • Além disso, Wattzon declarou publicamente, toda a plataforma é baseada na infra-estrutura Scala já preparada.
  • UBS para Scala para produtos em geral.
  • Coursera como um servidor utilizando a linguagem Scala.

framework Web Scala

Aqui estão dois framework de aplicações web mais popular de Scala: