{:align="right"}{:.margin-logo} Scala est un langage de programmation généraliste conçu pour exprimer les modèles de programmation courants de manière concise, élégante et typiquement sécurisée. Il s'est établi comme l'un des principaux langages alternatifs sur la Machine Virtuelle Java, étant utilisé par des entreprises comme Twitter et LinkedIn. Scala fusionne la programmation fonctionnelle (dont il emprunte les fonctions d'ordre supérieur et les fermetures, le typage générique et les structures de données immuables) et la programmation orientée objet (dont il reprend l'héritage et l'encapsulation). Il s'interface complètement avec Java, permettant une transition en douceur et l'accès à toutes les bibliothèques Java existantes.
La syntaxe légère de Scala facilite l'extension du langage via des DSLs. Dans cette présentation, nous allons avoir un aperçu rapide des principales caractéristiques de Scala (fermetures, fonctions d'ordre supérieur, implicites) et des classes de collection dans la bibliothèque standard. Nous verrons comment un nouveau modèle de concurrence, comme les acteurs, peut être ajouté au langage via une bibliothèque.
{:align="left"}{:width="184"}{:height="100"}{:.margin-logo} Nous croyons que l'écriture d'applications concurrentes, tolérantes aux pannes et évolutives est trop difficile. La plupart du temps, c'est parce que nous utilisons les mauvais outils et le mauvais niveau d'abstraction. Akka est là pour changer cela. Akka utilise le modèle des acteurs avec la Mémoire Transactionnelle Logicielle (STM) pour élever le niveau d'abstraction et fournir une meilleure plate-forme pour construire des applications concurrentes et évolutives correctes. Pour la tolérance aux pannes, il adopte le modèle « Let it crash » qui a été utilisé avec grand succès dans l'industrie des télécommunications pour construire des applications qui se réparent d'elles-mêmes, des systèmes qui ne s'arrêtent jamais. Les Acteurs Distants d'Akka, soutenus par une implémentation d'E/S non bloquante et évolutive, fournissent l'abstraction pour une distribution transparente et la base pour des applications vraiment évolutives et tolérantes aux pannes. Dans cette présentation, vous apprendrez ce qu'est Akka, comment il peut être utilisé pour résoudre des problèmes difficiles et les idées derrière sa conception et son implémentation. Akka est disponible sur http://akkasource.org/