Anyone can code, but only the fearless can be great — Auguste Gusteau
This workshop will serve as a “tour of Clojure” where you’ll explore its features and go over the unfamiliarity of the syntax to focus on this question: does it fit your way of thinking and solving problems
Why this workshop?
Clojure is different from any other mainstream language you’ll encounter in conferences in that it is a Lisp and a successful one at that.
Detached from the norms of C-style syntax, it allows expressing business logic and code in a succinct way through data.
The data structure literals and strong standard library help model problems and solve them in a bottom-up way, by composing functions that transform this data into a solution, while the REPL gives the ability to evaluate every form along the way to help shape understanding.
Because of its emphasis on immutability, it is easy to reason about the code which gives a competitive advantage when thinking about concurrency. And when synchronization of concurrent operations is needed, Clojure provides powerful abstractions to safely handle changes and think about logic only.
What will you learn?
We’ll go over what I like to refer to as the 5 pillars of Clojure by solving short problems:
1. Lisp: syntax and philosophy
2. Immutability: Clojure’s data structures and core/std lib
3. Concurrency: atoms, agents and refs
4. Polymorphism: multi-methods and protocols/records
5. Macros: with great power…
Who is the trainer?
Arnaud Bos is a software developer and consultant at MonkeyPatch, in Toulouse (France), and the organizer of the Toulouse JUG.
Starting his career as a mobile engineer, he quickly transitioned to backend and Web services development with a focus on data engineering and distributed systems problems in Python, Java and Clojure.
Arnaud is currently working with clients in the space industry to provide solutions to store and transfer large amounts of earth observation data and provide ways for teams to access and run analysis and experiments on it.
He occasionally writes blog posts (http://www.arnaudbos.com/) and tweets and gives talks about his favourites topics here and there.
Who is it for?
This workshop is for any functional programming curious/enthusiast developer.
Although we will focus mainly on Clojure itself and it might seem like a better fit for backend developers because of the JVM, all the concepts learnt during the workshop will be applicable to fronted development too thanks to ClojureScript!
You will need to bring your own laptop with the following pre-reqs installed: IntelliJ IDEA Community edition (https://www.jetbrains.com/idea/download/index.html) with the Cursive IDE (https://cursive-ide.com/userguide/).
You can get a Free, Non-commercial license of Cursive valid for 6 months on the website.
Software developer @MonkeyPatch and Toulouse JUG Leader