1. Introduktion till
Catchy och humoristisk undertitel
Johan Andrén
@apnylle
johan.andren@mejsla.se
onsdag, 25 april 2012
2. Vem är jag?
Fil Mag
Datavetenskap
Hyffsat nördig
Mejsla
6 år Java
1 år Scala @apnylle
onsdag, 25 april 2012
3. Disclaimer
Om du fattar några som helst affärsbeslut, skaffar dig
några som helst åsikter (positiva eller negativa) eller blir
av med stora mängder fritid som en följd av vad jag sagt
idag så tänk på att det är fullt möjligt att jag i framtiden,
om jag konfronteras med det, kan komma att helt
förneka att jag någonsin sagt det jag sagt idag - om det
inte handlar om beröm eller någon form av positiv
uppmärksamhet i vilket fall jag kan komma att acceptera
att saker jag inte sagt idag tillskrivs mig som åsikter.
onsdag, 25 april 2012
4. Vad är ?
Ett alternativt språk för JVM
Ett hybridspråk: OO + Funktionellt
Både scriptspråk och kompilerat
Statiskt typat
Nyheterna i Java 8, 9 och 10 - idag
onsdag, 25 april 2012
5. Jämfört med Java
”Pure OO” - Inga primitiver, inga statics
Koncisare syntax - mindre ceremoni/boilerplate
Typinferens
Operatoröverlagring - typ
Lambdauttryck
Pattern matching (switch på stereoider)
”Duck typing”/Structural types
onsdag, 25 april 2012
6. Interoperabilitet
Kompilerad Scala-kod blir .class-filer
Att ropa på Java-kod, ärva från Javaklasser
etc. kräver inget extra arbete
Att ropa på Scala-kod från Java-kod möjligt
onsdag, 25 april 2012
22. Typinferens återbesök
a: Int items: List[String]
motsvarar list.get(index) i java
onsdag, 25 april 2012
23. OO i Scala
Snarlikt Java men med knorr
koncisare klassdeklarationer
case-klasser
Inga statiska metoder eller fält
traits istället för interface
onsdag, 25 april 2012