addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobe--smallglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1launch-new-window--smalllight-bulblinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

ANN: Clojure For Developers, Dublin, CA - Apr 13-14

From: Asim J.
Sent on: Thursday, April 4, 2013 5:18 PM
How To Become Productive in Clojure 
You have wanted to learn Clojure for some time. You have been meaning to use Clojure to get into Lisp and functional programming. So you find some Clojure tutorials and decide to write a short program. You get your coffee, fire up your machine, and are ready to roll. You are looking forward to Clojure.

But soon you begin running into problems. First, how do you set up your development environment? Just getting Clojure to print hello world seems more complicated than it should be. Second, after getting your development environment working, how do you translate the ideas in your head into a functional program? Your mind instinctively wants to code imperatively. How can you make Clojure do what you want?

If you are struggling with becoming productive in Clojure—don’t worry—you can learn how to do this. Once you get past the initial hurdles Clojure is intensely rewarding to work with. If you have not struggled—yet—you can completely avoid all of this, by learning the Clojure development process hands-on.

Clojure For Developers 
In Clojure For Developers you will learn how to set up your development environment. You will learn how to develop Clojure interactively using the REPL, and how to compile and deploy Clojure applications. You will learn the details of Clojure’s syntax, data structures, and concepts like laziness and persistence. Through short lectures and hands-on exercises you will gradually become fluent in thinking functionally.

After the class 
After the class you will have tamed Clojure through your hands-on programming experiences. You will feel comfortable starting a Clojure project from scratch. You will know how to translate programming ideas into Clojure. And you will experience the intensely interactive and enjoyable process of working in Clojure.

What you will get 
- 2 days of hands-on training. 
- Clojure source code from the class in a zip file. 
- PDF ebook containing notes and exercises. 
- Certificate of Course Completion. 
- Wi-Fi and power. Make sure you bring your laptops and power cords.

Where to sign up 
- You can sign up at
- This course can be offered on-site if several people at your company are interested.

Who is the instructor? 
My name is Asim Jalis. I have worked at Microsoft, Hewlett-Packard, Symantec, and Salesforce, on large enterprise applications. I used Clojure at Salesforce to interactively measure the performance of the Salesforce app. If you want to understand Clojure and become productive in it, this class is designed for you. There is nothing else that will get you started as quickly.

When and where is the class? 
How many days is the class? This is a 2-day class. 
What dates? Sat Apr 13, and Sun Apr 14. 
What time? 9 AM to 1 PM 
Where? Hyatt Place, 4950 Hacienda Drive, Dublin, CA

Do I need to know programming? 
You should be familiar with a programming language. No knowledge of Lisp or functional programming is required. We will cover all that in the class.

What will be covered? 
Day 1 
- Clojure: intro, overview 
- Using Leiningen to set up development environment 
- Developing in an editor and on the REPL 
- Using 3rd party modules and libraries 
- Data types: numbers, booleans, strings, regex 
- Collections: maps, vectors, sequences 
- Functions: defn, fn, defining, overloading 
- Threading macros: ->> -> 
- Variables: def, let, bind 
- Conditionals: cond, if, when, if-let, when-let 
- Loops: loop, for, while, recur, doseq, dotimes

Day 2 
- Sequence functions: take, keep, filter, map 
- Destructuring bind and let 
- Higher-order functions: complement, comp, partial, juxt 
- Java interop: dot, bean, seq, import, exceptions 
- Macros: defmacro, macro syntax 
- Sequences: laziness, map, reduce, filter 
- Concurrency: future, pmap 
- Transactions: ref, deref, dosync 
- Command line tools using Drip 
- Web development using Ring

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy