Worth reading. A Clojure style guide.
In a blog post, Rich Hickey introduced transducers. Transducers “are a powerful and composable way to build algorithmic transformations that you can reuse in many contexts”. It is worth reading this two articles :
and here is a write-up of some some examples :
O’Reilly offers a nice for-sale video, Clojure Inside Out. They offer a 33 minute free introduction which offers a really nice introduction to Clojure software development. Stuart Holloway and Neal Ford provide a really nice look at Clojure looking at data, code, functions, abstraction, concurrency, JVM interoperability and integration. O’Reilly’s description of the video :
– Learn how to leverage macros to solve real problems
– Discover how Clojure helps you manage time
– Understand why functional programming is important
Clojure represents a vision for building software that could only be implemented by building a new language. You’ve heard the hype, now come learn the facts on the ground.”
In case you missed this comment on Clojure from Adrian Cockroft :
“The really cool things I’m seeing being built, some of them are in Go, and the other one is Clojure. A lot of the best programmers and the most productive programmers I know are writing everything in Clojure and swearing by it, and then just producing ridiculously sophisticated things in a very short time.” From thenewstack.io
I bumped into two articles, the first is a nice write-up by a Rails-developer trying out Clojure (and loving it). He writes 5 recommendations when developing Clojure Web apps.
The second article provides a how-to build single page app with CouchDB and Clojure.
You may find this of interest. With iOS 8 comes new features, you can see some of them in action in this video.
This is very interesting video showing how Chris Ford makes music from a basic sine wave to increasingly more complicated music forms with Clojure/Overtone. Definitely worth viewing :
Increasingly people are describing micro services as small services with specific functions to create a larger application – they often have intelligence in the endpoints, automatation in deployment and lack of dependency on any specific language. There is a very nice description of this approach written by James Lewis and Martin Fowler. You can read more of it here :
A counter-position or cautionary position was recently written by Benjamin Wooton which is also worth reading.
And in InfoQ, Chris Richardson offers some details on decomposing applications into micoservices.
In the Clojure community there are some examples of how this is being used. Let’s start with three recent articles (the first one from a Ruby shop experimenting with Clojure) :
and the following description one developer’s views on a Microservice Clojure stack.
In addition, here is a way to integrate Unix (micro)services with Clojure into all of this :
Rafał Kuć and Radu Gheorghe presented a very good presentation on Search in a talk comparing Apache Solr and Elasticsearch. Since my work involves using LWE/Solr’s search engine I found this very interesting and it is worth watching.