<<< Previous speaker next speaker >>>

Rich Hickey, Creator of Clojure

 Rich  Hickey Rich Hickey, the author of Clojure, is an independent software designer, consultant and application architect with over 20 years of experience in all facets of software development. Rich has worked on scheduling systems, broadcast automation, audio analysis and fingerprinting, database design, yield management, exit poll systems, and machine listening, in a variety of languages.

Presentation: "Introducing Clojure"

Time: Monday 11:30 - 12:30

Location: C103 Music Hall

Abstract:

Clojure is a programming language that embraces an industry-standard, open platform - the JVM; modernizes a venerable language - Lisp; fosters functional programming with immutable persistent data structures; and provides built-in concurrency support via software transactional memory and asynchronous agents. The result is robust, practical, and fast. This talk will give you insight into the features of Clojure, and how it addresses the challenges facing developers today.

Keywords: Clojure, JVM, Java, Lisp, functional programming, concurrency

Target audience: Developers interested in alternative programming paradigms.

Presentation: "Concurrency Expert Panel"

Time: Tuesday 13:30 - 14:30

Location: Archauz

Abstract:

One theme of the panel is concurrent programming models. Specifically; classic locking, transactional memory and actors. And with concurrency we mean parallel systems (e.g. shared-memory multicore, cluster)

  • The goal is performance
  • One trust domain
  • Latencies are small and predicable
  • One failure => kill the program is just about tolerable
  • One of the goals for the discussion would be to get a better understanding of strengths and weaknesses; advice and discussion about when to use which model.

Another goal is:

  • for the audience to get to pick the brains of the experts
  • to get a good discussion going amongst the experts
  • to get concrete advice on choice of programming language (hence model) for certain problems.
  • advice on solving common problems that appear when using a particular model.

Presentation: "The Clojure Concurrency Story"

Time: Tuesday 14:45 - 15:45

Location: Archauz

Abstract:

All functional programming languages emphasize working with immutable data as much as possible. How can that be efficient, and what benefits does it bring? And what happens when you need state, to manage changing values over time? One method is to use mutable references with concurrency semantics, such as transactions, coupled with persistent data structures. This combination makes for easy, lock-free designs, well within the comfort zone of those used to imperative programming.

This talk discusses how immutability, state and identity are handled in the Clojure language. You'll learn details about Clojure's managed references, agents and STM.

Keywords: Clojure, JVM, Java, Lisp, functional programming, concurrency

Target audience: Developers interested in alternative approaches to concurrency.