Big Thanks to Big Sky Technology (www.bigskytechnology.com) who pays for our meeting room rental every month and Tek-Systems (www.teksystems.com) who pays for our food each month! We appreciate your support!
We will raffle a ticket to the Rocky Mountain Software Symposium. This NFJS event will occur on May 29-31th.
DATE:
Tuesday - May 12th, 2009
LOCATION:
Wolf Law Building, Room #207
2450 Kittredge Loop Road
Boulder, CO 80309
6:00 - 7:00 PM: GIT control of your source by Stuart Halloway
Git is not the next step in evolution of centralized source control, following in the footsteps of cvs, svn, etc. These tools provide centralized history of deltas, where git provides distributed history of trees of content.
In this talk, you will see the advantages of the git approach: Incredible speed. Local, disconnected operation. Source control workflow customized to your team. Centralized, distributed, or layered, you can build it with git. Cheap and easy branching, tagging, and merging.
7:00 - 7:30 PM - Pizza and Sodas compliments of Tek-Systems
7:30 - 9:00 PM: Programming Clojure by Stuart Halloway
Find out why Clojure is Java.next:
- Clojure provides clean, fast access to all Java libraries.
- Clojure provides all the low-ceremony goodness you know and love from dynamic languages such as Ruby and Python.
- Clojure includes Lisp's signature feature: Treating code as data through macros.
- Clojure's emphasis on immutability and support for software transactional memory make it a viable option for taking advantage of massively parallel hardware.
Clojure is a dynamic programming language for the Java Virtual Machine, with a compelling combination of features:
- Clojure is elegant. Clojure?s clean, careful design lets you write programs that get right to the essence of a problem, without a lot of clutter and ceremony.
- Clojure is Lisp reloaded. Clojure has the power inherent in Lisp, but is not constrained by the history of Lisp.
- Clojure is a functional language. Data structures are immutable, and most functions are side-effect free. This makes it easier to write correct programs, and to compose large programs from smaller ones.
- Clojure simplifies concurrent programming. Of course, Java itself has pretty good concurrency support. But, there is wide agreement that lock-based concurrency is dif?cult to use correctly. Clojure provides alternatives to lock-based concurrency: software transactional memory, agents, and dynamic variables.
- Clojure embraces Java. Calling from Clojure to Java is direct, and goes through no translation layer.
- Unlike many popular dynamic languages, Clojure is fast. Wherever you need it, you can get the exact same performance that you could get from hand-written Java code.
About Stuart Halloway
Stuart Halloway is the CEO of Relevance, Inc. (www.thinkrelevance.com). With co-founder Justin Gehtland, Stuart helps companies adopt agile, as well as innovative technologies such as Clojure and Ruby on Rails. Stuart is the author of Programming Clojure, Rails for Java Developers, and Component Development for the Java Platform.