Latest web development tutorials

Introduction à la Scala

Scala est court pour la langue évolutive, est un langage de programmation multi-paradigme

Ecole Polytechnique Fédérale de Lausanne (EPFL) en 2001, le travail à base d'entonnoir Martin Odersky a commencé à concevoir Scala.

Funnel est un langage de programmation pensé à la programmation fonctionnelle et les réseaux de Petri est proposé.

travaux antérieurs Odersky est générique Java et javac (compilateur Java de Sun). la plate-forme Java Scala à la fin de la libération 2003 / début 2004. Plate-forme .NET Scala publié en Juin de 2004. La deuxième version de la langue, v2.0, sorti en Mars 2006.

En Septembre 2009, la dernière version est la version 2.7.6. Scala 2.8 fonctionnalités attendues comprennent bibliothèque réinscriptible Scala (Scala collections de la bibliothèque), du nom et des paramètres par défaut de la méthode, le paquet d'objet (objet de package), et de continuation.

Avril 2009, Twitter a annoncé qu'ils avaient passé la majeure partie du programme back-end pour migrer de Ruby à Scala, le reste vont migrer. En outre, Wattzon a déclaré publiquement, l'ensemble de la plate-forme est basée sur l'infrastructure Scala déjà préparé.


fonctionnalité Scala

caractéristiques orientées objet

Scala est un langage orienté objet pur, chaque valeur est un objet. Objet types et le comportement des données décrites par les classes et les traits.

mécanisme d'extension de classe abstraite, il y a deux façons: La première consiste à sous-classe d'héritage, une autre approche est le mécanisme de mélange flexible. Les deux façons d'éviter les problèmes d'héritage multiple.

programmation fonctionnelle

Scala est un langage fonctionnel, qui peut également fonctionner en tant que valeur à utiliser. Scala offre une syntaxe légère pour définir des fonctions anonymes, il prend en charge les fonctions d'ordre supérieur, permet multi-fonction imbriquée, et soutient currying. La classe de cas de Scala et de son adaptation de modèle intégré est équivalent à la langue de programmation fonctionnelle types algébriques couramment utilisés.

De plus, les programmeurs peuvent utiliser modèle de correspondance de Scala, écrire du code pour gérer les données XML semblables à des expressions régulières.

Type statique

Scala dispose d'un système de type, grâce à la compilation de vérification pour assurer la sécurité du code et de la cohérence. système de type spécifique prend en charge les fonctionnalités suivantes:

  • classe générique
  • covariance et
  • Callout
  • Limites supérieure et inférieure du paramètre de type
  • Les classes et types abstraits en tant que membres de l'objet
  • Type composite
  • cite moi-même quand spécifier explicitement le type
  • vue
  • méthode polymorphique

expansibilité

Scala est conçu pour respecter le fait que, dans la pratique, de développer un champs d'application spécifiques nécessitent souvent un langage spécifique dans le domaine de la vulgarisation. Scala offre une combinaison unique de mécanismes linguistiques peut être sous la forme de bibliothèques de façon transparente facilement ajouter de nouvelles constructions de langage:

  • Toute méthode peut être utilisée comme un opérateur de préfixe ou un suffixe
  • Il peut être configuré automatiquement en fonction du type prévu de fermeture.

Concurrency

Scala comme son modèle de concurrence en utilisant Acteur, entité Acteur fil similaire par la poste pour envoyer et recevoir des messages. Acteur peut réutiliser les fils, il peut être utilisé millions Acteur dans un programme, mais seulement créer des milliers de threads. Dans la version 2.10 après avoir utilisé Akka comme acteur par défaut à atteindre.


Qui utilise Scala

  • Avril 2009, Twitter a annoncé qu'ils avaient passé la majeure partie du programme back-end pour migrer de Ruby à Scala, le reste vont migrer.
  • En outre, Wattzon a déclaré publiquement, l'ensemble de la plate-forme est basée sur l'infrastructure Scala déjà préparé.
  • UBS Scala pour les produits généraux.
  • Coursera comme un serveur en utilisant le langage Scala.

framework Web Scala

Voici deux cadre plus populaire des applications Web de Scala: