Curious (Clojure) Programmer Simplicity matters

Menu

  • Home
  • Archives
  • Tags
  • About
  • My Talks
  • Clojure Tip of the Day Screencast
  • (Open) Source
  • Weekly Bits & Pieces
  • RSS
November 1, 2017

Functional Programming Brno Meetup: Clojure

Table of Contents
  • Organization
  • Presentation
    • 1. Clojure in Action
    • 2. Clojure Fundamentals
    • 3. Clojure in 7 Big Ideas
    • 4. Clojure in the Wild
  • Resources

Last week, I gave a talk about Clojure at Functional Programming Brno meetup.

This was my first meetup talk and my first public Clojure presentation too. I’m very grateful for the experience. It was fun, and I met a couple of interesting people.

Organization

Kiwi.com and especially Jiří Nečas helped a lot with meetup organization. They provided free beers and some food. It was a first-class experience - I truly appreciate everything they did.

Also, all the attendees were very kind and patient with me. Big thank you to everyone, especially Tomáš Janoušek and the former organizer Matej Kollár.

I hope to find more speakers for the next Functional Programming Brno meetups. If you have any experience with FP and would like to share it with us, please, send me a message via Meetup.com.

Presentation

My presentation was based on a wonderful talk Clojure in 10 Big Ideas by Stuart Halloway. I added a brief Clojure introduction at the beginning and some bits about Clojure in the real world at the end. I reduced the number of ideas to seven (leaving out core.async, protocols, and logic programming).

The presentation focused on people unfamiliar with Clojure. I tried to cover quite a few concepts, and that’s why it was so long (1h 45 min). In the future, I certainly need to make my talks shorter.

I divided the talk into four parts:

1. Clojure in Action

A very brief introduction to Clojure syntax using simple hello world covering basic function definition.

2. Clojure Fundamentals

A quick tour of Clojure (dynamic, functional with an emphasis on immutability, LISP, hosted on the JVM, etc.).

I also mentioned important Clojure ideas:

  • Simplicity

  • Separation of identity and state

3. Clojure in 7 Big Ideas

The core of the presentation. Seven ideas selected from Stuart’s 10 Big Ideas:

  • EDN

  • Persistent Data Structures

  • Sequences

  • Transducers

  • REPL

  • ClojureScript

  • Spec

After each section, I demonstrated the examples in REPL. Most of them were very basic. After the Sequences section, I included bit longer demo: Game of Life. I also demonstrated the Game of Life visualization in a browser after the ClojureScript part.

4. Clojure in the Wild

A summary of tooling, "problems" with Clojure (e.g. error reporting), real-world Clojure usage, and community resources.

I used the results of Clojure survey: State of Clojure 2016 Results and Analysis.

Resources

Slides, audio & video recordings are available:

  • Video (screen) recording: https://youtu.be/YeUOWaM_Gk8

  • Slides: https://www.slideshare.net/FPBrno/fpbrno-20171024-clojure-a-functional-lisp-on-the-jvm/

  • Audio recording: https://soundcloud.com/fpbrno/fpbrno-clojure-presentation-oct-24-1809

  • Clojure samples from the presentation: https://github.com/jumarko/presentations/tree/master/clojure-presentation/src/clojure_presentation

  • Game of Life in ClojureScript: https://github.com/jumarko/presentations/tree/master/game-of-life

Almost all the stuff presented at the meetup come from one of the following resources:

  • Stuart Halloway on Clojure in 10 Big Ideas

  • Rich Hickey: Simple Made Easy

  • Alex Miller: Cracking Clojure

  • Game of Life in Clojure [in Czech]

  • https://clojure.org/

  • Transducers workshop - uSwitch

  • Clojure Pills Screencast: 017 the life and death of an s-expression

  • Bruce Hauman - Developing ClojureScript with Figwheel

  • State of Clojure 2016 Results and Analysis


Tags: clojure meetup functional-programming

« Introducing Clojure Tip of the Day Screencast Busy (Clojure) Developer Guide to Podcasts »

Copyright © 2025 Juraj Martinka

Powered by Cryogen | Free Website Template by Download Website Templates