PurelyFunctional.tv Newsletter 273: Robots, Categories, Aikido
Sign up for weekly Clojure tips, software design, and a Clojure coding challenge.
Besides working on the new design, I've been catching up on conference talks from around the world. There have been some great ones and I try to capture some of the ideas stirring around the growing Functional Programming community.
Please enjoy the issue.
PS Want to get this in your email? Subscribe!
Kim Crayton's talk at Clojure SYNC 2018 urged us to develop a different skillset beyond programming. Artificial Intelligence is going to replace our jobs at some point. To remain relevant in the short term, we need to do what computers still can't. We need to solve human problems.
Sometimes I find myself solving a problem in code when it's probably better solved in some other way. We need to think beyond our coding skills and see problems at a more human level.
ElixirDaze Keynote YouTube
Rob Conery talks about something that I think about all the time. He's facing this problem: WordPress and Rails are good enough for most business problems. What value is there in Elixir or Erlang? Of course, I think about it as it relates to Clojure.
My best answer for Clojure is "your business problems are complex enough; you want a language that won't add extra complexity on top". It gets a nice reaction, because it's unexpected. Most people are expecting a particular domain it's well-suited for, like web programming or big data. A more philosophical stance comes out of left field.
But lately, I've been dissatisfied with the answer. There are thousands of concerns to the business. Complexity of software might be one of them. But the best way to avoid that is to not develop software at all and instead use something off-the-shelf. So it's
Philip Wadler (inventor of Haskell's Type Classes and FP superhero) begins this talk thusly:
Mary Sheeran (FP professor extraordinaire) works through several seminal papers in Functional Programming dealing with higher order functions. She traces the use of them from the original Lisp system through Christopher Strachey, Kenneth Iverson, and John Backus, among others.
Piotr Moczurad describes Luna, which is a mixed visual/textual language. They take some interesting approaches to visualization.
Didier Verna published a very personal journey where he discovers how he relates to Lisp, Jazz, and Aikido in the same way.
Michal Plachta shows us how to use advanced mathematical constructs to separate concerns like logging, communication, and persistence.
Apropos #6 YouTube
In which we talk about code style and ClojureScript without React. We also calculate the 10,001st prime number at the REPL!
If you haven't checked out my new podcast, please do! It's an off-the-cuff recording of the big ideas in functional programming.