SP06/16: ScalaDays
Wir suchen einen Scala-Entwickler
Willst Du Scala endlich auch beruflich einsetzen? Dann komm zu uns. Für unser Berliner Team bei der Beta System IAM Software AG suchen wir einen Scala-Entwickler bzw. eine Scala-Entwicklerin für unser siebenköpfiges Scrum-Team.
Auch als Quereinsteiger aus der Java-Welt bist Du herzlich willkommen.
Bewirb Dich jetzt (gib bei Deiner Bewerbung bitte an, dass Du über diesen Podcast auf die Stelle aufmerksam geworden bist).
Scaladays 2016 Berlin
Keynote von Martin Odersky
Aktuelles
- Scala 2.12 erfordert Java 8
- Scala 2.11 wird es noch länger geben für die, die noch nicht auf Java 8 gehen können
Blick in die Zukunft
- Procedure Syntax fällt weg
- Macros werden durch Metaprogramming ersetzt
- Benamte Typ-Parameter
- Typen mit & und |
- Verarbeitung von Tuples in Funktionen (map)
- Tuples wie HList (22 Schranke fällt)
- Übernahme von Shapeless Funktionen in die Sprache
Vereinfachung
- Li Haoyis Blog lesen (Principle of least Power)
- infix Schreibweise vermeiden
- Bei Operatoren: @infix mit Beschreibung
Donnerstag
- Keynote: Scala Center
- Non Profit Organization
- Online Kurse
- scaladex
- ScalaFiddle
- Protokolle auf Github verfügbar
- Roll your own Shapeless
- Miles hat keinen speziellen Scala Compiler
- Das Typsystem kann viel mehr als ich dachte
- lesbar ist das ganze nicht
- akka.js
- akka für Scala.js
- bisher ohne akka remote
- verwendet akka als Git subproject
- Principles of elegance
- Was Elegant ist, ist Ansichtssache
- Acht Prinzipien
- Zum Naming: Verweis auf Li Haoyis Blog
- Reactive Microservices with akka and Docker
- einfaches Deployment von Aktorsystemen in Docker Container mit sbt-native-packager
- Beeing creative with type classes and genetic algorithm
- Type classes bieten eine alternative zu Vererbung
- Man kann lange an der Mona Lisa rechnen
- @inline and @specialized
- Tool: JITWatch
- @inline erfordert scalac ‑optimize
- @inline bringt nichts
- @specialized vermeidet boxing, generiert aber mehr Klassen. Bringt nur in bestimmten Situationen was.
Freitag
- Keynote: Postcapitalism
-
Typelevel
- Jede Menge Projekte
- Meet-Ups/Hacking bei Konferenzen
- Arbeit am Scala Fork aufgegeben, stattdessen soll mehr direkt geändert werden über PRs
- Deep Dive into Scala.js Internals
- Compiler Plugin: > 5000 Zeilen Code (a bunch of crazy stuff)
- Optimizer
- ähnlich groß (> 4400 Zeilen)
- Single Pass
- Macht alles anders als an den Universitäten gelehrt
- Beispiel: Umwandlung von Multiplikationen in Bit-Shift Operationen
- Metaprogramming 2.0
- Version 1.0 ist jetzt verfügbar
- Weniger Boilerplate Code notwendig
- Async Testing on the JVM and Scala.js
- Notwendig für Scala.js
- Alle Style traits (z.B.
FunSpec
) gibt es jetzt auch in einer Async-Variante
Links
Scaladex
Der Scala Library Index jetzt online. Hier werden Scala-Libraries getaggt aufgelistet. Somit erhält man einen guten Überblick populärer Bibliotheken zu unterschiedlichen Themen.
Scaladex ist eine der ersten Initiativen des Scala Centers.
Links
Hörerfeedback
Paul Boschmann hat uns eine gute Eselsbrücke zu Either
genannt:
Der Right-Part von Either enthält korrekte Werte (Right is right) und ins Left kommt der Rest: Errorcodes, Exceptions und sonstige Unwahrheiten. […] steht so tatsächlich in der Haskell-Doku drin.
Sommerpause
Wir verabschieden uns in die Sommerpause. Die nächste Episode gibt es voraussichtlich im September.
Titelsong basierend auf Wish You Were Here von THE.MADPIX.PROJECT lizensiert unter Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0).