Speaker Topics - No Fluff Just Stuff

Clojure - Functional Programming for the JVM

Clojure is a dynamically-typed, functional programming language that runs on the JVM and provides interoperability with Java. A major goal of the language is to make it easier to implement applications that access data from multiple threads (concurrency).

Clojure is a dynamically-typed, functional programming language that runs on the JVM (Java 5 or greater) and provides interoperability with Java. A major goal of the language is to make it easier to implement applications that access data from multiple threads (concurrency).

Soon Clojure will also be available for the .NET platform. ClojureCLR is an implementation of Clojure that runs on the Microsoft Common Language Runtime instead of the JVM.

Clojure might be for you if:

you're interested in making concurrent programming easier
you're open to branching outside the world of object-oriented programming to try functional programming
it is important for the applications you write to run on the JVM in order to take advantage of existing Java libraries, portability and other benefits
you prefer dynamically-typed languages over statically-typed ones
you find the minimal, consistent syntax of Lisp dialects appealing
I plan to spend a large part of the talk focusing on the reference types in Clojure (Refs, Atoms and Agents) which are its primary mechanisms for dealing with concurrency. Even if you have no plans to use Clojure, learning about Software Transactional Memory (STM) will be valuable. See http://en.wikipedia.org/wiki/Software_transactional_memory.

I recommend glancing through an article I wrote on Clojure before attending the talk to familiarize yourself with some of the syntax and features of the language. See http://ociweb.com/mark/clojure/article.html.


About Mark Volkmann

Mark Volkmann is a partner at Object Computing, Inc. (OCI) in St. Louis where he has provided software consulting and training since 1996. As a consultant, Mark has assisted many companies with Java, XML, Web, JavaScript, jQuery, Node.js, and AngularJS application development.

Mark has created and taught many courses on topics including: Java, Swing, XML, Ruby, HTML5, CSS3, JavaScript, jQuery, Node.js, and AngularJS.

Mark is a frequent presenter at St. Louis area user groups. He has written for XML Journal and the No Fluff Just Stuff (NFJS) magazine. He has presented at the XML DevCon, NFJS and Strange Loop conferences.

Mark frequently writes articles on various software development topics. These can be found at http://ociweb.com/sett.

More About Mark »