Stefan Tilkov
Biography
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.
Lectures
Web Development: You're Doing it Wrong
Even without any sort of programming framework with lots of abstraction layers and fancy tooling, the Web platform is one of the most powerful environments for distributed and collaborative systems. If, that is, we actually /use/ it instead of continuously /abusing/ it through trying to turn it into something it's not. In this session, we'll challenge many commonly-held assumptions about how to best develop web applications. Even though we'll briefly touch the REST architectural style, most of the time will be spent discussing the strengths and ideal roles for HTML, CSS, JavaScript and their connection to the Web's core standards, HTTP and URIs. We'll see how a focus on simplicity and moderate use of technologies can lead to great applications that integrate well, scale well, are fun to develop, and are maintainable in the long run.
Unlearning OOP: How to Design Clojure Programs
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?