software.wikisort.org - Linguaggio

Search / Calendar

Scala (da Scalable Language) è un linguaggio di programmazione di tipo general-purpose multi-paradigma studiato per integrare le caratteristiche e funzionalità dei linguaggi orientati agli oggetti e dei linguaggi funzionali[2][3]. La compilazione di codice sorgente Scala produce Java bytecode per l'esecuzione su una JVM.

Scala
linguaggio di programmazione
AutoreMartin Odersky (EPFL)
Data di origine2003
Ultima versione3.0.1 / 09 Luglio 2021[1]
Utilizzogeneral-purpose
ParadigmiProgrammazione a oggetti, funzionale
Tipizzazioneforte
Estensioni comuni.scala
Influenzato daJava, Erlang, Haskell,
Implementazione di riferimento
Sistema operativomultipiattaforma, richiede una JVM
LicenzaBSD
Sito webwww.scala-lang.org/

Piattaforme supportate


Scala è stato studiato per interoperare con la piattaforma Java 2 Runtime Environment (JRE) rendendo l'integrazione con le applicazioni e i componenti Java molto agevole. Scala utilizza lo stesso modello di compilazione (compilazione separata, caricamento delle classi dinamiche) utilizzato da Java permettendo così l'accesso a molte librerie sviluppate in questo ambiente. In passato era disponibile anche per la piattaforma .NET Framework (CLR).


Storia


Scala è stato progettato e sviluppato a partire dal 2001 da Martin Odersky e dal suo gruppo alla Scuola politecnica federale di Losanna (EPFL). È stato distribuito pubblicamente a gennaio 2004 sulla piattaforma Java e a giugno dello stesso anno sulla piattaforma .NET (ora non più supportata). La seconda versione del linguaggio è stata distribuita a marzo del 2006[4].


Funzionalità object-oriented


Scala è un linguaggio completamente orientato agli oggetti. Ogni elemento del linguaggio è un oggetto, inclusi numeri e funzioni che, così, possono venire memorizzate in variabili, essere passate come parametri, rappresentare il risultato di una chiamata di metodo, oppure essere estese tramite ereditarietà. I tipi e l'eredità degli oggetti sono descritti da classi e trait.


Programmazione funzionale


Scala è anche un linguaggio funzionale in quanto ogni funzione è un valore. Scala fornisce un linguaggio molto diretto per definire funzioni anonime (dichiarate e usate senza essere legate ad un nome), supporta funzioni di ordine superiore, permette alle funzioni di essere annidate e supporta funzioni parziali.

Scala ha un supporto nativo per il pattern matching che permette di potenziare l'elaborazione di dati XML con il supporto di espressioni regolari. Questa caratteristica unita con la possibilità di definire liste esaurienti (list comprehension) rende questo linguaggio ideale per sviluppare applicazioni come i web service.


Esempi



Hello World!


object HelloWorld extends App {
  println("Hello, world!")
}

Note


  1. (EN) The Scala Programming Language, su scala-lang.org. URL consultato il 06/09/2008.
  2. (EN) An Overview of the Scala Programming Language - Second edition (PDF), su scala-lang.org. URL consultato il 06/09/2008.]
  3. (EN) Scala's Prehistory, su scala-lang.org. URL consultato il 06/09/2008.]

Bibliografia



Collegamenti esterni


Controllo di autoritàLCCN (EN) sh2010013203 · GND (DE) 7658965-1 · BNF (FR) cb16664389n (data) · J9U (EN, HE) 987007599951105171 (topic)
Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

На других языках


[fr] Scala (langage)

Scala est un langage de programmation multi-paradigme conçu à l'École polytechnique fédérale de Lausanne (EPFL) pour exprimer les modèles de programmation courants dans une forme concise et élégante. Son nom vient de l'anglais Scalable language qui signifie à peu près « langage adaptable » ou « langage qui peut être mis à l'échelle ». Il peut en effet être vu comme un métalangage.
- [it] Scala (linguaggio di programmazione)

[ru] Scala (язык программирования)

Scala — мультипарадигмальный язык программирования, спроектированный кратким и типобезопасным для простого и быстрого создания компонентного программного обеспечения, сочетающий возможности функционального и объектно-ориентированного программирования.



Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.org внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2025
WikiSort.org - проект по пересортировке и дополнению контента Википедии