Clojure is my favorite programming language. Clojure’s design is its great draw for me. It is actually a thrill just to write code in it. Clojure is so well written that it has been ported from running on the JVM to running on top of Java Script and .NET. My intention is to provide posts and links useful to new and experienced Clojure developers.
Programmers New To Clojure
I always start people on the journey to understanding Clojure by having them watch the following four videos. Know the philosophy behind Clojure and the design decisions made is a wonderful place to start learning this programming language.
Clojure for Java Programmers Parts 1 & 2
If you know any programming languages already, this is a great place to get an overview of the language and philosophy behind Clojure. You don’t need to know Java to learn from these two videos.
Clojure for Lisp Programmers Parts 1 & 2
After watching the first two videos on programming Clojure for Java programmers, I highly recommend the second two videos on programming Java for Lisp programmers. You don’t need to already know Lisp to learn from these two videos.
Creating a Clojure Project
I recommend using IntelliJ for Java development and the Cursive plugin for IntelliJ to do your Clojure development. This will cost some money. There are other editors out there that are free. Many developers love the other free options. My opinion is, “You get what you pay for.” So, this guide will stick mostly with the Cursive IntelliJ combination using Leinigen as the build tool and Java 11 or greater for the platform.
For some quick notes on project setup, building and deploying, check out Clojure Cursive: Write, Run, Deploy.
Create a Clojure Server with React Client
Sometimes you want a pure Clojure server with a React web client. It is best if you create a new one instead of using other people’s templates, because you can also get the newest libraries, frameworks, and security fixes at the same time.
Clojure Swing Interop
These days, many apps default to use of a web interface for their user interfaces. Sometimes you just want a traditional graphic user interface (GUI) with your Clojure code without the hassle of creating a full blown web app. A lot can be said for double clicking an uberjar and seeing an appealing desktop app spring to life.
Clojure Redis using Carmine
Redis works great with Clojure when you use the Carmine API.
Clojure Programming Posts