Gateway Software Symposium
May 21 - 23, 2010 - St. Louis, MO
Mark Volkmann
Software Consultant and Partner at OCI
Mark Volkmann is a partner at Object Computing, Inc. (OCI) in
St. Louis where he has provided software consulting since 1996.
As a consultant, Mark has assisted many companies with
Java, XML, Web, jQuery and Node.js application development.
Mark also has created and teaches many courses on topics including:
Java, Swing, XML, XML Schema, Relax NG, XPath, XSLT, XQuery,
DOM, SAX, JAXP, JDOM, JAXB, SOAP, WSDL, Ruby,
HTML5, CSS3, JavaScript, CoffeeScript and jQuery.
He is currently developing a course on Node.js.
Mark is a member of the St. Louis Java User Group steering
committee and a regular presenter for that group. He has written
for XML Journal and the No Fluff Just Stuff (NFJS) magazine.
He has presented the XML DevCon, NFJS and Strange Loop conferences.
Presentations
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/Softwaretransactionalmemory.
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.



