by Neal Ford
Learning the syntax of a new language is easy, but learning to think under a different paradigm is hard. This session helps you transition from a Java writing imperative programmer to a functional programmer, using Java, Clojure and Scala for examples. This session takes common topics from imperative languages and looks at alternative ways of solving those problems in functional languages. As a Java developer, you know how to achieve code-reuse via mechanisms like inheritance and polymorphism. Code reuse is possible in functional languages as well, using high-order functions, composition, and multi-methods. I take a variety of common practices in OOP languages and show the corresponding mechanisms in functional languages. Expect your mind to be bent, but you?ll leave with a much better understanding of both the syntax and semantics of functional languages.
by Matt Raible
This session shows you how to use some of the hottest technologies today to build a webapp, an API and a mobile application to track fitness workouts. Using HTML5 technologies (specifically geo and local storage), I'll show you how you can track the time, distance and music you listened to while exercising. Play with Scala is used for the backend and services, while CoffeeScript and Jade are used for the front-end templating and Ajax communication.
This session will explain limitations encountered with HTML5 and discuss when native apps might work better.
In this talk, James will walk you through the different template languages available in Scalate, the Scala Template Engine -- , discussing the pros and cons of each to help you pick the right template language.
During the talk you will learn how to add Scalate to your web app, use scalate with servlets or JAXRS, and use the Scalate web console and command line tools.
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.
We believe the success of communication through SMSs, Tweets and Facebook Status messages lies in its conciseness (i.e. 140 characters). Similarly, short and expressive code not only reduces maintenance needs but also increases readibility and ultimately affect the productivity of a programmer. This session is about pragmatic examples of such "one-liners" commonly found in enterprise applications development. In particular, we will exhibit the invocation and transformation of REST services with frameworks like Unfiltered and Akka Futures and show how the REPL(Read Eval Print Loop) command tool can save you a lot of time by programming interactively with one-liners.
13th–15th February 2012