GOTO is a vendor independent international software development conference with more that 90 top speaker and 1300 attendees. The conference cover topics such as .Net, Java, Open Source, Agile, Architecture and Design, Web, Cloud, New Languages and Processes

Heiko Seeberger, Director Professional Services, Typesafe

Heiko Seeberger

Biography: Heiko Seeberger

Heiko Seeberger is Director Professional Services for Typesafe and has been a Scala enthusiast ever since discovering the language in 2008. He started his professional career as a software developer in 1993 using programming languages like object-oriented Turbo Pascal, Perth and C++. Since 1998 he has been living almost exclusively in the Java world where he could build deep expertise in technologies for enterprise applications like AspectJ, Spring, Eclipse RCP and OSGi. Soon after he was infected by Scala he started the ScalaModules project, a Scala-based DSL for OSGi, and became a committer to Lift and Akka. Heiko regularly shares his expertise in articles and talks and is the main author of the German Scala book "Durchstarten mit Scala".

Presentation: Scala in Action

Track: Technology Wednesday / Time: Wednesday 15:30 - 16:15 / Location: Don Giovanni 2

You don't yet speak Scala? Then let us invite you to a journey on which we will explore the outstanding features of this programming language for the Java Virtual Machine. As an intoduction we will breifly talk about Scala's key characteristics. Then we will explore this language and some of its typical applications by means of vivid examples and live coding. As a finalizer we will outline Scala's future directions.

Workshop: Fastest Track to Scala

Track: Training (Fullday) / Time: Thursday 08:30 - 17:00 / Location: Room 2

You are a Java developer or software architect? You agree with us that the Scala programming language will play a major role in the future of the Java platform? Then this course will give you an excellent start with Scala. Through a mix of teaching and a lot of hands-on labs you will acquire a solid understanding of the most important language fundamentals and the tooling. After having participated in this course you will be confident to start using Scala in your applications.

 

Agenda:
First steps
  • Installing the Scala distribution and an IDE
  • "Hello World" in the IDE
  • Interactive programming in the REPL
  • Variables and methods
  • Expressions and type inference
  • First glance at functions

  • Basic OO features
  • Classes, class parameters, constructors
  • Fields, class parameters as fields
  • Methods
  • Operators
  • Named and default arguments
  • Packages and imports
  • Access modifiers
  • Singleton objects, companions, Predef
  • Case classes

  • Learning FP by collections
  • Collection hierarchy, creating instances
  • Type parameters
  • Tuples
  • Immutability versus mutability
  • Some important collection methods
  • Higher-order functions and function literals
  • Functions values, function types, short notation
  • Important higher order functions: map, flatMap and filter

  • For-expressions and -loops
  • Generators
  • Filters
  • Definitions
  • Translation of for-expressions and -loops

  • Inheritance and traits
  • Extending classes
  • Final and sealed classes
  • Enumerations
  • Overriding members
  • Abstract classes
  • Implementing abstract members
  • Standard type hierarchy
  • Traits and mix-in composition
  • By-name parameters

  • Pattern Matching
  • Match-expressions
  • Pattern types
  • Pattern guards
  • Patterns outside of match expressions