Scala (język programowania)
Scala − język programowania łączący cechy języków funkcyjnych i obiektowych. Scala działa na Wirtualnej Maszynie Javy, a także na Java Platform, Micro Edition Connected Limited Device Configuration i platformie .NET. Nazwa ma za zadanie podkreślać skalowalność języka, stąd Scala ("scalable language").
Scala został stworzony w 2001 roku na École Polytechnique Fédérale de Lausanne przez Martina Odersky'ego. Język ten został upubliczniony w styczniu 2004 roku na platformie Javy, a w czerwcu tego samego roku na .NET. Wersja druga została udostępniona w marcu 2006 roku.
Wspierane paradygmaty [edytuj]
Scala wspiera programowanie funkcyjne. Składnia pozwala zwięźle definiować funkcje anonimowe, obsługuje funkcje wyższego rzędu, zagnieżdżanie funkcji i currying. Użycie słowa kluczowego lazy opóźnia przypisanie wartości do chwili gdy wartość ta będzie potrzebna.
Scala ma "klasy przypadków" oraz wbudowane wsparcie dla dopasowywania wzorców. Pozwala to korzystać z algebraicznych typów danych, używanych w wielu funkcyjnych językach programowania.
Rekurencja ogonowa nie jest całkowicie obsługiwana, ponieważ maszyna wirtualna Javy nie udostępnia takiej możliwości. W prostych przypadkach kompilator Scali może optymalizować rekurencję ogonową do postaci pętli.
Implementacja prostego algorytmu sortującego (podobnego do quicksort) w podejściu programowania funkcyjnego może wyglądać następująco:
def qsort(list : List[Int]): List[Int] = list match { case Nil => Nil case pivot :: tail => { val (smaller, rest) = tail partition (_ < pivot) qsort(smaller) ::: pivot :: qsort(rest) } }
Linki zewnętrzne [edytuj]
- Strona oficjalna
- Wiki języka Scala
- Polski portal o Scali
- Scala - język przyszłości
- Podstawy języka Scala
- Kanały IRC: #scala, #scala.pl
- PSG - Polska grupa dyskusyjna użytkowników języka programowania Scala
|
||||||||||||||||||||||||||||||||||||||||||||||||||