Eric Normand Newsletter 475: Transcending OOP and FP
Transcending OOP and FP
Yehonathan Sharvit (author of Data-Oriented Programming) and I are planning a livestream to promote our books. Originally, we thought we'd talk about the obvious: How FP relates to DOP, etc.
But as we talked, we realized it would be much more interesting to talk about how OOP and FP could work together. OOP languages are getting functional features. The paradigms are merging together. So what's next? Where do we go from here?
Where do you think we need to go? What problems need better solutions? What questions do we need to ask ourselves to make a new leap in programming?
Please reply with your answers. I have some ideas but I'd love to energize this discussion with all the brainpower I can muster.
My latest podcast episode explores what a domain model is. Again. But this time I think I'm onto something.
I just finished this book about John von Neumann. Such a genius. He was part of everything significant in the 20th century. I also like how the book talks about other scientists and mathematicians within his sphere.
What are the things we need to teach in the Clojure community? This list is pretty good.
I've been enjoying Hillel Wayne's newsletter. This one is about TDD maximalism. He also discusses the definition of "software design." Go figure!
A five-hour discussion with Doom programmer John Carmack? Yes, please.
Clojure on LLVM with a gradual type system.
Grokking Simplicity 📘
You can order my book on Amazon. Please leave a rating and review. Reviews are a primary signal that Amazon uses to promote the book. They help others learn whether the book is for them.
You can order the print and eBook versions on Manning.com (use TSSIMPLICITY for 50% off).
Clojure Challenge 🤔
No challenge last week.
This week's challenge
Least common multiple
Write a function that finds the least common multiple of a collection of numbers. Remember that the least common multiple is the smallest integer that is evenly divisible by all the numbers in the collection.
(lcm ) ;=> nil (undefined) (lcm ) ;=> 10 (lcm [2 4]) ;=> 4 (lcm [3 7]) ;=> 21 (lcm [2 4 10]) ;=> 20 (lcm [15 2 4]) ;=> 60
Thanks to [this site](https://edabit.com/challeng e/44bnzeLuDh3ofHxXi "") for the problem idea, where it is rated Very Hard in Java. The problem has been modified.
Please submit your solutions as comments on this gist.