My latest project uses a CQRS and event sourcing design and the power it gives, coupled with Clojure is just fantastic. Hydrating an object becomes (merge {} (event-store/load ar-id)) - just fantastic.
I too find a lot of sympathy between CQRS, event sourcing, FRP and Clojure which I keep meaning to blog about, but my todo list is a mile long. Still, highly recommend that architecture. Lots of downsides; everything is a trade off, but conceptually, yeah, it gets a lot right. > On 12 Jul 2015, at 05:34, Matt Bailey <ambiturn...@gmail.com> wrote: > > Johanna, > > I noticed you mentioned CQRS. In my work, we use CQRS heavily, specifically > the Axon framework for Java (utilizing Spring and Hibernate). I got into > Clojure through watching Rich Hickey's talks and figured that any language > that he wrote had to be good. > > It's remarkable to me how cleanly the concepts applied in CQRS map to > concepts in Clojure. The funny thing is that CQRS would never be necessary if > it wasn't for languages like C# and Java. > > It can be discouraging to see people's eyes glaze over when you talk about > code as a series of transformations on the input. Many people limit their > understanding of code to a very procedural style with ifs, elses and "helper > methods" that have side effects. > > Sorry I don't have any words of wisdom on how to evangelize Clojure, but I am > glad to see someone else noted the parallels between CQRS and a more > functional style of programming. > > Cheers! > -Matt > > On Saturday, July 11, 2015 at 2:47:31 PM UTC-7, Johanna Belanger wrote: > That's really cool, thanks! > > On Saturday, July 11, 2015 at 5:27:37 AM UTC-7, juvenn wrote: > Hi Johanna, > > I don’t know if it'll work for your team, but I find Shaun Le Bron's > "Interactive guide to Tetris in ClojureScript” the most succinct and > beautiful way of showing power of Clojure and ClojureScript. > > https://github.com/shaunlebron/t3tr0s-slides > <https://github.com/shaunlebron/t3tr0s-slides> > > Have fun! > -- > Juvenn Woo > Sent with Sparrow <http://www.sparrowmailapp.com/?sig> > > On Saturday, 11 July, 2015 at 1:24 pm, Johanna Belanger wrote: > >> I ended up giving him a brief description of Clojure, with stress on its >> ability to do heavy lifting with very little code, and sent him a link to >> Neal Ford's talk "The Curious Clojurist" >> <https://www.youtube.com/watch?v=bxLnpgnDApg>. We'll see what happens. >> Thanks everyone for your advice. >> >> On Thursday, July 9, 2015 at 3:20:23 PM UTC-7, Johanna Belanger wrote: >> Hi :) >> >> I've recently broached the subject of Clojure with another dev in my >> organization, and his response was basically "What's Clojure"? and I'm not >> sure how to answer that in a way that might inspire him. "It's a >> dynamically-typed functional Lisp with persistent immutable data structures >> that runs on the JVM" doesn't seem like it will grab his interest. =) >> >> I work primarily in .NET, and he does enterprise Java. I don't know him well >> enough to know how happy he is with it. He did express interest in learning >> .Net. >> >> I came to an appreciation of Clojure through >> >> -CQRS (the power of decomplection!) >> -Sussman and Abelson's SICP class at MIT online (the power of homoiconicity >> and functions!) >> -the death of Silverlight (alternatives to Javascript in the browser?) >> >> By the time I found Rich Hickey's talks (eg Simple Made Easy) I was pretty >> well primed to love Clojure. I've been using it for little personal projects >> and prototyping for a couple of years, but I haven't put it in production >> because no one else here knows it. >> >> Could anyone tell me how they got from enterprise Java to Clojure? >> >> Thanks very much, >> Johanna >> >> >> -- >> 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 >> <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 >> <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 clojure@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+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > <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+unsubscr...@googlegroups.com > <mailto:clojure+unsubscr...@googlegroups.com>. > For more options, visit https://groups.google.com/d/optout > <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 clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.