In functional programming, people often use the term side-effect. But what does it mean? Side-effect is any external effect a function has besides its return value.
Thoughts on Functional Programming Podcast
An off-the-cuff stream of Functional Programming ideas, skills, patterns, and news from Functional Programming expert Eric Normand.
What are concurrency and parallelism? What’s the difference? Concurrency is functional programming’s killer app. As we write more and more distributed systems on the web and on mobile, the sharing of resources becomes a major source of complexity in our software. We must learn to share these resources safely and efficiently. That’s what concurrency is all about.
What is a race condition? We look at what causes race conditions and some ways you can avoid them.
What are pure functions? I explore the definition, the term itself, and why functional programmers like pure functions.
I got a lot of questions about how to apply the Onion Architecture to particular situations. In this episode, I try to answer it with a specific example.
In stratified design, we are looking for layers of meaning, each one implemented on top of the last. But how do you go about building those in an existing codebase? While it remains more of an exploration than a step-by-step method, we can still describe some techniques that help find them. In this episode, I talk about four of them.
There is always a tension in our programs between raw data and meaningful information. On the one hand, data is meaningless alone. On the other, we want to treat it as a thing with real semantics that constrain its usage. How do we live with both of these at the same time?
React (and other frameworks like it) will re-render their components when the data for those components change. Is that functional? If it were pure functions, then things would only render when you called it. It’s being affected by changing data. My contention is that it’s not really functional (as in pure functions). It’s reactive programming. But reactive borrows many ideas from functional.
Event Sourcing is an architectural pattern that shows up in many mature information systems. This is the fourth in my three-part architecture series.