Hello Clojure — Workshop 101 Rollar Coaster, Disney Parks, Singapore by Divyendu Singh Experience
Today I had my first real go at Clojure and thanks to the community it was a breeze. Apart from the content of the workshop being awesome, I had a real good discussions with clojureists and programming humans.
I like the idea of a homoiconic (read — data and logic have the same syntax), immutable, functional (albeit not purely) language.
Moreover, Clojure being a “lisp” and my interest is SICP (bear in mind that SICP is not about LISP but general software construction) makes for another reason as to why I was at the workshop.
I will now briefly list of the contents of the workshop.
Quick intro to Clojure syntax Small Beginnings
Very basic data modeling and querying Small Functions
Start building basic abstractions and composition. Data and Functions
Playing further with Clojure ways of data transformation Control Flow
Data processing and decision logic in Clojure Immutability and Functional Programming
A look at the immutable nature of Clojure This example also has a tiny macro, which is a beautiful thing about LISP
Full Functional Firepower A must checkout, this example discusses side-effects, boundaries and pure functions
Boldly Go Package your Clojure code
But Before We Go Reference links/videos/resources
Community links and more Takeaways My interaction with the Clojure community has been the best take away I had today — I felt welcomed. Highly recommended. Clojure conferences are a good mix of academia and practical computer science work. Reference Links
Code with comments — master branch. Uncommented exercise code is in workshop-code branch.
Workshop setup instructions
Source code for LightTable editor — legend says this needs some help in maintenance
Side-effect, Boundaries, programming by wishful thinking
https://en.wikipedia.org/wiki/Side_effect_%28computer_science%29 https://www.destroyallsoftware.com/talks/boundaries http://blog.adrianbolboaca.ro/2016/04/programming-by-wishful-thinking/ https://www.destroyallsoftware.com/talks
And lastly, an article I wrote a while back about software (this article did very well, would love to hear the opinion of Clojure community on this)