Lucas Cavalcanti will be giving a talk at Clojure/conj 2016. He will be speaking about building double-entry accounting on top of Datomic and Kafka.
PurelyFunctional.tv: How did you get into functional programming?
Lucas Cavalcanti: At college I had Scala and Erlang in a Functional Programming course, but since I was mainly doing Java at the time, the only FP I was getting was some map/filter operations using Google Guava. One year later I started a project in Scala, tried to use every single one of its 9001 language features, but still too much OO from my Java background.
Only when I started using Clojure for real at Nubank I get to grasp the real power of functional programming on the most simple yet powerful language I know of.
PF.tv: What is your talk about?
LC: It is about a double entry accounting system built on top of Clojure, Datomic and Kafka, leveraging functional programming, declarative rules, event log processing and generative tests to guarantee correctness, auditing and extensiveness.
PF.tv: What do you hope people will take away from the talk?
LC: How to use the main advantages of Clojure and its ecosystem to solve problems in a domain that is close to math, financial services in this case.
PF.tv: What concepts do you recommend people be familiar with to maximize their experience with the talk?
LC: Some basic knowledge about accounting can help, besides functional and declarative programming, event sourcing and generative (property based) tests.
PF.tv: What resources are available for people who want to study up before the talk?
PF.tv: Where can people follow you online?
PF.tv: Are there any projects you'd like people to be aware of? How can people help out?
LC: No, only the ones I mentioned earlier.
PF.tv: Where do you see the state of functional programming in 10 years?
LC: It will be the basic technique for most software projects, it will be taught in schools before any object oriented code, and will be the foundation of a more powerful and simple paradigm.
PF.tv: If functional programming were a superhero, what superpower would it have?
LC: It would have the power to transform matter, by reorganising its atoms without creating or destroying any of them.