There’s something I’ve been wondering about around functional and agile. It’s about creating solutions, creating knowledge.
I see agile geeks pulling toward functional programming, from young coders here in Ohio to famous folks like Brian @marick and @unclebobmartin. And I’m wondering what it will look like when functional marries agile.
I talk to functional/denotative folks who are excited by math, and clarity of understanding, and composability. And I’m excited by those things too. They’re very cool.
But it seems like functional’s missing out on something important that TDD offers. Specifically, emergent design. Emergence is how complexity works, isn’t it? I think what the functional / denotative people are saying is that we should use our awesome rational brains to understand a problem and work out a solution. Is that what they’re saying?
(This TED talk is about how we solve problems without understanding them.)
How do brilliant functional programmers deal with complexity? Do they have to figure it all out, without letting emergence help?
I’ve been thinking it’d be very cool to create a cafe or an un-conference to address this. How do we get all the juice out of denotative mathy functional programming, and get the benefits of emergent design as well?