BT

Scala 2.11 : La Dernière Version Majeure de Scala

| par Bienvenido David Suivre 0 Abonnés , traduit par Nicolas Frankel Suivre 7 Abonnés le 12 mai 2014. Durée de lecture estimée: 2 minutes |

Typesafe a récemment annoncé la version 2.11 de Scala sous la licence standard BSD à 3 clauses. Il s'agit d'une version majeure qui comprend des améliorations de scalac, du REPL, de la modularisation/du packaging, des macros, de l'API de Collections et diverses corrections de bogues. Scala 2.11 cible Java 6, avec un support limité et expérimental de Java 8. Scala 2.11 n'est pas compatible au niveau binaire avec les séries 2.10, mais le code qui compile en 2.10 sans avertissement de dépréciation devrait compiler en 2.11.

Voici quelques-unes des nouvelles fonctionnalités de la version 2.11.

Collections. map, flatMap et collect de List ont vu leur performance améliorée. Les HashMap et HashSet immutables sont plus rapides, et leur empreinte mémoire plus faible. Les LongMap mutables et les AnyRefMap ont été ajoutées pour des performances accrues quand les clés sont de type Long ou AnyRef.

Compiler. Les compilations incrémentales et par lots ont été améliorées. Le backend .Net expérimental a été supprimé. -Xlint a été mis à jour avec l'ajout des termes inutilisés, des types et des avertissements d'import. GenBCode a été introduit. Il s'agit d'un back-end expérimental et optimisé pour scalac. Avec l'utilisation de -Ydelambdafy:method (expérimental), les fonctions anonymes sont compilées plus vite avec un bytecode plus petit. Il existe également l'élimination de branche par analyse constante.

REPL. L'interpréteur est maintenant un moteur de script conforme à la JSR 223. La commande de désassemblage :javap fonctionne maintenant avec Java 7. La nouvelle commande :kind aide à différencier les types de base des constructeurs de type.

Modularisation. Les Quasiquotes ont été introduites. Il s'agit d'une notation facile d'utilisation pour la manipulation d'arbres de syntaxe Scala. De nombreuses modifications significatives sur la réflection et les macros, dont les métaprogrammeurs Scala doivent prendre connaissance, ont également été apportées. La page Macros : changements dans Scala 2.11 fournit plus d'informations à ce propos.

Comme Scala 2.11 n'est pas compatible au niveau binaire avec la 2.10, il est nécessaire de mettre à jour son mécanisme de compilation pour utiliser les dépendances 2.11. Vous pouvez consulter la liste des projets Scala qui ont déjà été mis à jour avec la 2.11, dans la section Projets disponibles des notes de version de Scala 2.11. Il y a aussi un certain nombres de dépréciations, dont vous pouvez prendre connaissance dans la section Dépréciations. Par exemple, scala.actors, scala.concurrent.future et scala.concurrent.promise sont maintenant dépréciés.

Pour démarrer, vous pouvez utiliser le modèle Hello de l'Activateur de Type de Scala 2.11. L'AGL Scala pour Eclipse est disponible sur le site de mise à jour de Scala 2.11 pour Eclipse 4.2/4.3 (Juno/Kepler). Il est recommandé d'adresser tous les avertissements de dépréciation avant la mise à jour si elle s'effectue depuis la version 2.10. Si vous utilisez les modules XML, d'analyse ou Swing, vous devrez ajouter ces dépendances de manière explicite. Pour ceux qui ne sont pas encore prêts à passer à la version 2.11, la série 2.10 passe maintenant en mode maintenance et terminera vraisemblablement fin 2014 avec la version 2.10.5, deux ans après la publication initiale de la version 2.10.0.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT