Can there be Agile functional or denotative programming?

Somebody tweeted that they don’t like OO, and it made sense to me, because a few people I’m close to feel the same. Something’s bugged me about the anti-OO idea, though, and I just realized what.

Agile programming to me seems like a big, creative party. Like a barn raising, maybe.

If OO were thrown out in favor of the purest form of Haskell, for example, what would that look like? What kind of collaboration would happen? Pairing? How? What would we test, and when?

What would it be like working on a scrummy, xp-like denotative programming team?

GeePaw limps along with…

Beats hell outta me.

I spoze I could make some knowledgeable-sounding thing up.

True story: I do not know.

True meta-story: Is better to not know than to know wrong, or to make things up.

If I have a team who does functional or denotative programming, I’m certainly willing to try.

7 thoughts on “Can there be Agile functional or denotative programming?

  1. Pingback: Can there be Agile functional or denotative programming?

  2. Steve Horn

    I don’t understand.

    You said that you realized what was bugging you about OO, and then went onto say that it’s because it’s like a big creative party.

    What is it about a team’s concurrent creativity that “bugs” you about OO?

    1. Angela Post author

      Heh. Well, Steve, that would be because I entered this post on my phone, with my thumbs, and I can’t think when I’m typing with my thumbs. :) I just edited the post to say what I meant: something’s bugged me about the anti-OO idea.

      Thanks for catching that.

  3. June Kim

    As I remember, it was maybe Ward Cunningham who said something like, there is no other way to make a program in OO other than via inventing a language.

    I sometimes think programming as a communal language growing. Functional programming can be thought this way as well. It is because the social aspect and human aspect of programming is much larger than the technical aspect. (Like Michael Feathers said)

    I’ve been in a team where we used C++, Java, Python, Javascript, C, and ActionScript; and they all felt the same in our agile culture. I’ve been in a team where we used Erlang(BTW one of the most commercially-successful funcitonal language) and Ruby; and we didn’t feel any big difference in our culture.

  4. Sean McMillan

    Ultimately, look to the values; Can a team care about communication, simplicity, feedback, and courage while programming in Haskell? Of Course.

    Maybe it will look different — Maybe TDD doesn’t apply there. But agile is about how people interact, and that base is independent of technology.

    (I think there will probably be TDD for functional and denotative languages, but it may need to use different structures than an OO xUnit-style framework.)


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>