[ANN][book] Clojure Reactive Programming

1,407 views
Skip to first unread message

Leonardo Borges

unread,
Mar 24, 2015, 10:26:02 AM3/24/15
to clojure
Hi all,

Some of you may know that I have been working on a book for the better part of last year.

I'm happy to announce it has finally been published! Here's the link: https://www.packtpub.com/web-development/clojure-reactive-programming

I hope you find it useful! I've had a great time putting it together!

Cheers,
Leonardo Borges

Mike Haney

unread,
Mar 24, 2015, 10:34:28 AM3/24/15
to clo...@googlegroups.com
This is the first new Clojure book that has looked interesting to me in some time. I just picked it up, I'll let you know my thoughts when I've had time to read through it.

Shaun Mahood

unread,
Mar 24, 2015, 3:36:53 PM3/24/15
to clo...@googlegroups.com
Congratulations, it looks really interesting.

Registered on Packtpub to buy it and they sent me a 50% off any eBook promo, plus I just got my first Re-Frame application started this morning.

I think you guys must all be in on a big conspiracy to make me learn something new!

Shahrdad Shadab

unread,
Mar 24, 2015, 3:51:45 PM3/24/15
to clo...@googlegroups.com
Awesome!

It was about the time that someone shows the power of clojure in reactive programming (and  in particular core async) to the practitioners that use Scala  / AKKA for orchestration.
I personally work in a company that some ignorant architect decided to Java8 + Akka + play's promise facility to do the orchestration. 
You cannot imagine how much noise introduced by Akka to the code just to do the orchestration.  Clojure is way above all these existing pathetic technologies. Remember E. F. Schumacher quote:

"Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction."

Clojure is touch of genius.

Again thanks for your great book Leonardo.

 Best regards
Shahrdad


On Tue, Mar 24, 2015 at 10:34 AM, Mike Haney <txmik...@gmail.com> wrote:
This is the first new Clojure book that has looked interesting to me in some time.  I just picked it up, I'll let you know my thoughts when I've had time to read through it.

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Software Architect & Computer Scientist

Colin Yates

unread,
Mar 25, 2015, 7:15:20 AM3/25/15
to clo...@googlegroups.com

Hi Shahrdad, just a point of etiquette, inferring that an architect is ignorant because they chose Java8, Akka and play is full of assumptions. Calling those technologies pathetic is very bad poor.

As I like to quote "Any intelligent fool can make things bigger and more complex... It takes rude manners, assumptions and a whole bunch of numptiness to claim 'bigger and more complex' means the author is a fool".

Hildeberto Mendonça

unread,
Mar 25, 2015, 7:52:11 AM3/25/15
to clo...@googlegroups.com
On Wed, Mar 25, 2015 at 12:14 PM, Colin Yates <colin...@gmail.com> wrote:

Hi Shahrdad, just a point of etiquette, inferring that an architect is ignorant because they chose Java8, Akka and play is full of assumptions. Calling those technologies pathetic is very bad poor.

As I like to quote "Any intelligent fool can make things bigger and more complex... It takes rude manners, assumptions and a whole bunch of numptiness to claim 'bigger and more complex' means the author is a fool".


That's why I love this community. Mutual respect is part of the philosophy. :-)

Colin Yates

unread,
Mar 25, 2015, 8:06:57 AM3/25/15
to clo...@googlegroups.com
No - he is right, we just don't say it! Obviously I am kidding :).

Shahrdad Shadab

unread,
Mar 25, 2015, 10:36:42 AM3/25/15
to clo...@googlegroups.com
Trust me I have been using Scala + Akka + Play for past three years in production, and had to deal with tons of incidental complexity plus a lot of noise they introduce as my daily job (in my code as well as other developer's code). Now I am in the best position to judge and compare them with Clojure code that does similar job but ten times simpler (and I don't only mean 10 time less verbose).
I am sorry but I need to confess that within past 15 years that I have been working with numerous architects most of them choose technologies only based on 1/2 hour googling or reading reviews (and I don't mean all architects are like this). In particular the one I rightly called ignorant did not even write a simple poc to use AKKA and java8 to see how code looks like.
By pathetic technology (and I didn't mean java8) I mean a technology that you need to fish out less than 10 lines of business logic from 50 or more lines of noise introduced by Scala futures (in AKKA), Play promise redeems, matching classes (case classes in Scala)...
Remember when first time Spring was introduced, the original goal was to take out all the noise and put them in XML file so the developer remain focused on business logic. Here we are 10 or so years later: lots of noise and complexity added to the code to do orchestration. This is work of intelligent fool... (look at Erlang which AKKA tried to copy, it does a powerful orchestration without introducing much complexity, this is touch of genius) 
These are the pain points in our field. I have deeply felt it and try to point out that the life does not need to be that hard.
Clojure is the first real try in opposite direction (touch of genius)

Thanks a lot
Best regards
Shahrdad



Colin Yates

unread,
Mar 25, 2015, 10:42:42 AM3/25/15
to clo...@googlegroups.com
No one is arguing the pros/cons of different technologies, only the
inappropriateness of your language.

Hildeberto Mendonça

unread,
Mar 25, 2015, 10:48:36 AM3/25/15
to clo...@googlegroups.com
Look, you have nobody here to convince of Clojure's greatness. I propose you send exactly the same message to a Scala or Java8 group to validate your assumptions.
Hildeberto Mendonça, Ph.D
Blog: http://www.hildeberto.com
Community: http://www.cejug.net
Twitter: https://twitter.com/htmfilho

Luc Préfontaine

unread,
Mar 25, 2015, 1:12:43 PM3/25/15
to clo...@googlegroups.com
I support your statement.
I am fed up by this extreme political correctness era.

This leads directly to auto censorship.

I met numerous 'anarchitects' who never had to bring an app from inception to
real life use but nonetheless where issuing 'profound' statements about the last buzz word they
read from the news stand.

With unnecessary software complexity comes huge teams, dilution of responsibilities and
expertise, aside from the one picked up through some headlines.

This leads to a lack of accountability overall.
No one is responsible, 'we followed best practices/processes according to {put your favorite methodology name here}'

I saw 'anarchitects' fly out before integrated or acceptance tests because
they had realize that the monster they helped created could not lift from the ground.
Human induced complexity killed it well before it started to breathe.
A kind of Frankenstein aborted experiments.

After spending zillions of customer $ of course...

If it swims like a duck, squeaks like a duck, walks like a duck, well it's a duck.
Not some kind of abstract apparatus.

Nothing forces people to buy/listen to a book/news report/tv show/... if they find it rude
or inappropriate to their taste.

They just have to zap like most of them are doing over any serious thinking about
how they work, what's the purpose of it and what responsibilities comes with it.

It's already a miracle that some people are actually saying publicly what they really think,
let's not try to cut their wings...

Pleasing the majority is the path to mediocrity.

Luc P.
Luc Préfontaine<lprefo...@softaddicts.ca> sent by ibisMail!

Dave Sann

unread,
Mar 26, 2015, 8:08:56 AM3/26/15
to clo...@googlegroups.com
Not being politically correct is fine.

But an attack on anonymous "stupid" people in this context is pointless and sours the otherwise potentially useful commentary. It also completely derails the topic.

Comment on the objective aspects of the technology. If you have a personal issue with someone or their decision, maybe it is better to take it up with them. That way you might get an outcome. If you don't think you get that then maybe it is better just to move on and forget about it (they probably have).

You don't have to agree but it is better to be constructive.

Dave

Luc Préfontaine

unread,
Mar 26, 2015, 9:08:52 AM3/26/15
to clo...@googlegroups.com
The 'attack' word is again a manifestation of extreme political correctness.

I will argue that these technologies with their inherent complexity are creating huge
bureaucracies to attract and hide unqualified/unskilled/uncommited/... aka 'stupid' people
from scrutiny.

These environments have the perverse effect of encouraging people not to think
too much at least not publicly because of that political correctness pushed to the limit.
'You are not a team player, blablablalbla...'.

'Stupidity' is not off topic here, not at all. It's been a plague for two decades in this industry
as soon as demand increased for sotfware. It started to attract people mid 80s because of
the promise to get a well paid job. Not because they had above average skills or had a keen
interest in it. 'I do not need to understand technology, I'll be a manager in three years'.
This a real quote from a colleague when I was quite green.

Meanwhile HR replaced know-how by worthless tags (add water to this pouch and you will get a
Java/Ruby/... asset) and processes hoping to use a Taylor approach to creativity like
if we were building cars on an assembly line.

Some would argue that without this enterprise mass market, we would not have the technology
we have at hand these days. True. The industry has been recycling old concepts
for 30 years branding them as new. Huge costs with incremental changes.

This mitigated success is limited by this assembly line model.
And unlike a car plant, it cannot be robotized.
You need to change wetware... Hence the 'stupidity' factor discussion.

Now if the anonymity thing bugs you, I can bring forward explicit names in this thread
with the failing projects, budget, ..., just let me pull my notes here...

Colin Yates

unread,
Mar 26, 2015, 9:22:04 AM3/26/15
to clo...@googlegroups.com
Luc, you are missing the point: this isn't the forum for that
discussion regardless of how valid the points in that discussion are.
This is a _Clojure_ forum, not a 'what's wrong with the (technology)
world' forum, I would suggest this isn't even a 'how can Clojure fix
the world' forum.

Luc, please read the various responses carefully - replying by
validating the points in your discussion/justifying your position is
missing the point, please do not reply until you understand that.

I think we should just let this thread die, so I'm out.

Shahrdad Shadab

unread,
Mar 26, 2015, 9:32:53 AM3/26/15
to clo...@googlegroups.com
This is another way of saying "Do not point the contrast between Clojure and other technologies just because I don't know those technologies".
I believe showing the clear contrasts (and in general pain points in this field) by people like me who worked in both Clojure and non clojure technologies for years needs to be highly valued and well understood (instead of being a moral police that reminds me of 1984 novel).


Mike Haney

unread,
Mar 26, 2015, 10:41:59 AM3/26/15
to clo...@googlegroups.com
There is value in comparing approaches, minus the personal attacks. I would suggest starting a different thread, though.

Bringing this back to the original topic - I'm about 25% through the book, and it is really good so far. Thank you Leonardo for writing what so far appears to be a very timely and useful reference.

Shaun Mahood

unread,
Mar 26, 2015, 10:44:27 AM3/26/15
to clo...@googlegroups.com
Just thought I would leave a quick note for anyone interested in the book (and hopefully get the thread back on topic). I'm about 1/3 through the book and have found it really well written and interesting so far. It's an excellent introduction to reactive programming in general and for clojure specifically, and is easy to follow for a relative beginner in both clojure and reactive programming. If you have any interest at all in the topic I highly recommend picking it up. 

Thanks for writing it Leonardo!


On Tuesday, March 24, 2015 at 8:26:02 AM UTC-6, Leonardo Borges wrote:

Russell Christopher

unread,
Mar 26, 2015, 11:05:12 AM3/26/15
to Clojure
So far I'm finding the book instructive! Good job. As far as the detour, I'd keep in mind that in general Rich likely isn't in favor of it on this list but on the other hand I didn't find that the criticism was personal as no names were mentioned and  I commiserate about so called  "architects" causing projects to fail (sometimes very painfully)  and I'm sure that at times Scala looks down it's nose at Clojure so I'm not to worried about that either. From what I've seen and heard, Martin Odersky recoils in horror at dynamic languages.

--

Luc Prefontaine

unread,
Mar 26, 2015, 11:51:18 AM3/26/15
to clo...@googlegroups.com
Fine with me. Let's call it off.
It's not either a forum about netiquette or about 'how bad this word/expression hurts anonymous people'.



> Luc, you are missing the point: this isn't the forum for that
> discussion regardless of how valid the points in that discussion are.
> This is a _Clojure_ forum, not a 'what's wrong with the (technology)
> world' forum, I would suggest this isn't even a 'how can Clojure fix
> the world' forum.
>
> Luc, please read the various responses carefully - replying by
> validating the points in your discussion/justifying your position is
> missing the point, please do not reply until you understand that.
>
> I think we should just let this thread die, so I'm out.
>
>
> On 26 March 2015 at 13:08, Luc Préfontaine <lprefo...@softaddicts.ca> wrote:
> > The 'attack' word is again a manifestation of extreme political correctness.
> >
> > I will argue that these technologies with their inherent complexity are creating huge
> > bureaucracies to attract and hide unqualified/unskilled/uncommited/.. aka 'stupid' people

Leonardo Borges

unread,
Mar 26, 2015, 11:52:52 AM3/26/15
to clo...@googlegroups.com
Thanks everyone for the kind words! 

It makes it all worth it :)

Cheers,
Leonardo

Colin Yates

unread,
Mar 26, 2015, 11:58:32 AM3/26/15
to clo...@googlegroups.com
Hi Leonardo, I haven't read it yet but I am very much looking forward
to it based on other people's responses :).

Hildeberto Mendonça

unread,
Mar 26, 2015, 12:51:10 PM3/26/15
to clo...@googlegroups.com
The list is so cool that I think this discussion is actually part of the book's marketing strategy. It worked! I just bought my copy ;-)

Luc Prefontaine

unread,
Mar 27, 2015, 8:52:27 AM3/27/15
to clo...@googlegroups.com
Bought it myself too...
If this is some kind of marketing stunt, it
caught me off guard... (sic)

Luc P.
Luc Prefontaine<lprefo...@softaddicts.ca> sent by ibisMail!

Daniel Kersten

unread,
Mar 27, 2015, 11:18:14 AM3/27/15
to clo...@googlegroups.com
Just bought a copy too. So far looks great! Can't wait to read the rest of it :)


> > > For more options, visit this group at
> > > http://groups.google.com/group/clojure?hl=en
> > > ---
> > > You received this message because you are subscribed to the Google Groups
> > > "Clojure" group.
> > > To unsubscribe from this group and stop receiving emails from it, send an

> > > For more options, visit https://groups.google.com/d/optout.
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Clojure" group.
> > To post to this group, send email to clo...@googlegroups.com
> > Note that posts from new members are moderated - please be patient with
> > your first post.
> > To unsubscribe from this group, send email to

> > For more options, visit this group at
> > http://groups.google.com/group/clojure?hl=en
> > ---
> > You received this message because you are subscribed to the Google Groups
> > "Clojure" group.
> > To unsubscribe from this group and stop receiving emails from it, send an

> > For more options, visit https://groups.google.com/d/optout.
> >
>
>
>
> --
> Hildeberto Mendonça, Ph.D
> Blog: http://www.hildeberto.com
> Community: http://www.cejug.net
> Twitter: https://twitter.com/htmfilho
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com
> Note that posts from new members are moderated - please be patient with your first post.
> To unsubscribe from this group, send email to

> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscribe@googlegroups.com.

> For more options, visit https://groups.google.com/d/optout.
>
--
Luc Prefontaine<lprefontaine@softaddicts.ca> sent by ibisMail!


--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscribe@googlegroups.com.

Jeremy Heiler

unread,
Mar 27, 2015, 10:35:53 PM3/27/15
to clo...@googlegroups.com
Congrats, Leonardo!

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.

Leonardo Borges

unread,
Mar 28, 2015, 8:58:54 AM3/28/15
to clojure

I promise this was no marketing stunt!

Not a planned one anyway :p

Brian Guthrie

unread,
Mar 28, 2015, 1:50:47 PM3/28/15
to clojure
Congratulations Leo! Folks, I had an opportunity to read some advance chapters and it looked great even then. I'm really looking forward to reading the whole thing. Well done.

danl...@gmail.com

unread,
Mar 30, 2015, 10:28:01 AM3/30/15
to clo...@googlegroups.com
I am now a proud owner of your e-book! Congratulations, I am looking forward to reading this latest addition to my Clojure library.

Shaun Mahood

unread,
Apr 10, 2015, 5:21:21 PM4/10/15
to clo...@googlegroups.com
Finished my first read-through last night, I really enjoyed the book and thought it was an excellent and informative read. Best resource I've read yet for understanding reactive programming as a whole. Thanks for writing it!

Leonardo Borges

unread,
Apr 21, 2015, 2:50:09 AM4/21/15
to clo...@googlegroups.com

On Saturday, April 11, 2015 at 7:21:21 AM UTC+10, Shaun Mahood wrote:
Finished my first read-through last night, I really enjoyed the book and thought it was an excellent and informative read. Best resource I've read yet for understanding reactive programming as a whole. Thanks for writing it!

That is great to hear! I'm extremely glad you enjoyed the book! :)

Cheers,

 

Roberto Guerra

unread,
Apr 29, 2015, 12:05:02 PM4/29/15
to clo...@googlegroups.com
Started reading the book this week. I'm enjoying it a lot. Thank you for writing it.


Pieter Vallen

unread,
Apr 30, 2015, 7:35:01 AM4/30/15
to clo...@googlegroups.com
Thanks for writing the book. Just bought it (before the "marketing discussion";-)) and really like what I've read so far!

Cheers,
Pieter

Op dinsdag 24 maart 2015 15:26:02 UTC+1 schreef Leonardo Borges:

Leonardo Borges

unread,
Apr 30, 2015, 8:30:08 PM4/30/15
to clo...@googlegroups.com
Thanks Pieter,

I hope you enjoy it!

Cheers,
Leo
Reply all
Reply to author
Forward
0 new messages