Why Clojure? - Modern LISP on JVM
Submitted by varun krishna (@vhawk19) on Thursday, 5 March 2020
Clojure is a pragmatic language choice for programmers. It is a Functional Programming language with immutable data and first class functions.The dynamic type system of clojure makes it really flexible, productive unlike many purely functional programming languages. It leverages the stability, security and portability of the JVM. Which makes it a popular choice amongst startups, as it allows you to scale without comprimising on productivity or performance. The REPL makes interacting super-intuitive and lets one prototype rapidly. It also has a strong concurrency support, which makes it really useful to ooze out maximum performance from multi-core systems today without worrying about locks and threads!
And the best part? You can use all the libraries that come with java, making it a great choice for real world applications and general purpose computing.
The idea is to take a simple program and implement it in clojure while showcasing its different features
Introduction (2 mins)
- What is Clojure?
Live Programming (25 mins)
- S-Expressions (And comment or two about LISP :p)
- Looping using recur
- Lazy sequences
- Anonymous functions
- Java Interop
- Concurrent Programming with refs
Some interesting clojure projects (3 mins)
An open mind would be great :)
I am Varun Krishna S, a student developer from Govt. Model Engineering College Kochi. I am clojure/python enthusiast currently interning at SaveMo trying to extract Transactional Information from SMS data. My love for functional programming started with trying to play around with haskell in school, but caught on when I worked on building a clojure application at nilenso where I interned briefly. I generally associate myself with building reliable backend applications or tinkering with hardware most of the times. Not a huge fan of hackathons but been to a dozen and won a couple. I do tend to rant quite a lot on how the future is decentralized and functional :p .