Stefan Tilkov is a co-founder and principal consultant at innoQ, a technology consulting company with offices in Germany and Switzerland. He has been involved in the design of large-scale, distributed systems for almost two decades, using a variety of technologies and tools ranging from C++ and CORBA over J2EE/Java EE and Web Services to REST and Ruby on Rails. He has authored numerous articles and a book (”REST und HTTP”, German), and is a frequent speaker at conferences around the world.
Your background is in OOP languages and you have become intrigued by Clojure. You know that things are different, and that continuing to design your programs in the same way you did in the past is likely going to cause problems. In this session, we will take a look at concepts that are likely to be familiar to you, such as encapsulation, type and class hierarchies, modularization, and domain modeling, and show what the analogies in idiomatic Clojure are. We will also take a look at some of the additional tools Clojure offers that go way beyond what you are used to — hopefully setting you off on your way to become a great Clojure programmer.
The discussion panel aims at presenting views on the usefulness of functional programming on JVM and beyond, including F# on .Net (if there are people who could tackle the topic with care). We hope to gather people with different opinions, often contradictory, so they can lead to useful outcomes about pros and cons of using functional programming languages - Scala, Clojure as the main players - for current and future projects.
There are plenty of questions people ask themselves when they're faced with learning functional languages and the discussion panel should address some.
Amongst the questions that attendees should anticipate get answers to could be: Why should I consider functional programming languages for my projects? Should I mix and match Java with other languages? What are the most-suited use cases for functional languages? Where would be an introductory area for introducing a functional language in a project? What tools should I get familiar with to get up to speed with functional programming on JVM?