Latest web development tutorials

Introduzione alla Scala

Scala è l'abbreviazione di Scalable Language, è un linguaggio di programmazione multi-paradigma

Politecnico federale di Losanna (EPFL) nel 2001, il lavoro a base di imbuto Martin Odersky inizia a progettare Scala.

Funnel è un linguaggio di programmazione pensato per la programmazione funzionale e reti di Petri viene proposto.

Odersky lavoro precedente è generico Java e javac (del compilatore Sun Java). piattaforma Java Scala verso la fine del rilascio 2003 / inizio del 2004. .NET Platform Scala rilasciato nel giugno 2004. La seconda versione di lingua, v2.0, uscito nel marzo 2006.

Da settembre 2009, la versione più recente è la versione 2.7.6. Scala 2.8 caratteristiche previste includono biblioteca riscrivibile Scala (Scala collezioni biblioteca), di nome e di parametri di default del metodo, il pacchetto di oggetti (oggetto pacchetto), e la continuazione.

Aprile 2009 Twitter ha annunciato di aver trascorso la maggior parte del programma di back-end per migrare da Ruby a Scala, il resto sta andando a migrare. Inoltre, Wattzon ha dichiarato pubblicamente, l'intera piattaforma è basata su infrastrutture Scala già preparato.


caratteristica Scala

caratteristiche object-oriented

Scala è un linguaggio orientato agli oggetti puro, ogni valore è un oggetto. Oggetto tipi di dati e comportamenti descritti da classi e tratti.

Estratto meccanismo di estensione di classe, ci sono due modi: Un modo è quello di creare una sottoclasse di successione, un altro approccio è il meccanismo di miscelazione flessibile. I due modi per evitare i problemi di ereditarietà multipla.

La programmazione funzionale

Scala è un linguaggio funzionale, che può anche funzionare come un valore da utilizzare. Scala offre una leggera sintassi per la definizione di funzioni anonime, che supporta funzioni di ordine superiore, permette nested multifunzione, e supporta currying. Classe caso di Scala e il suo pattern matching built-in è equivalente a linguaggio di programmazione funzionale tipi algebrici comunemente utilizzati.

Inoltre, i programmatori possono usare il pattern matching di Scala, scrivere il codice per gestire dati XML simili alle espressioni regolari.

tipo statico

Scala ha sistema tipo, attraverso la fase di compilazione controllo per garantire la sicurezza del codice e la coerenza. sistema di tipo specifico supporta le seguenti funzioni:

  • classe generica
  • covarianza e
  • callout
  • Superiore e limite inferiore del parametro di tipo
  • Le classi e tipi astratti come membri di oggetti
  • tipo composito
  • Citare me stesso quando specificare esplicitamente il tipo
  • vista
  • metodo polimorfico

espansibilità

Scala è progettato per sostenere il fatto che, in pratica, per sviluppare una specifica campi di applicazione richiedono spesso linguaggio specifico nel campo di estensione. Scala offre una combinazione unica di meccanismi linguistici può essere sotto forma di librerie senza aggiungere facilmente nuovi costrutti del linguaggio:

  • Qualsiasi metodo può essere utilizzato come prefisso o suffisso dell'operatore
  • Può essere configurato automaticamente in base al tipo previsto di chiusura.

concorrenza

Scala come il suo modello di concorrenza utilizzando Attore, entità Attore filo simile attraverso la posta elettronica per inviare e ricevere messaggi. Attore può riutilizzare i fili, può essere utilizzato milioni di attore in un programma, ma solo creare migliaia di thread. Nella versione 2.10 dopo aver usato Akka come attore predefinita raggiungere.


Chi usa Scala

  • Aprile 2009 Twitter ha annunciato di aver trascorso la maggior parte del programma di back-end per migrare da Ruby a Scala, il resto sta andando a migrare.
  • Inoltre, Wattzon ha dichiarato pubblicamente, l'intera piattaforma è basata su infrastrutture Scala già preparato.
  • UBS a Scala per i prodotti generali.
  • Coursera come un server utilizzando il linguaggio Scala.

framework Web Scala

Qui ci sono due più popolare framework per applicazioni Web di Scala: