Release von Scala 3.0
(scala-lang.org)-
Erstes Versions-Upgrade seit 8 Jahren nach 2.0
-
Macros wurden grundlegend überarbeitet und ermöglichen nun Metaprogramming
→ Inline, Pakete für Compile-Time, Quoted-Codeblöcke, Reflection API
- Neue Syntaxen
→ Quiet-Syntax (Bedingungen ohne Klammern) für if, while, for usw.
→ Weglassen des Keywords new möglich
→ Optional Braces
- Verbesserungen beim Typsystem
→ Enums, Opaque Type Aliases
→ Intersection & Union Types
→ Dependent Function Types
→ Polymorphic Function Types
→ Type Lambdas
→ Match Types
- Objektorientierte Programmierung neu gedacht
→ Sowohl funktionale als auch objektorientierte Aspekte wurden gestärkt
→ Traits können wie Klassen Parameter annehmen
→ Open Class für Erweiterbarkeit
→ Transparent Traits
→ Composition over Inheritance unter Nutzung der export-Syntax
→ Beseitigung von NPEs: Explicit Nulls, Safe Initialization
Noch keine Kommentare.