BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Presentations Thinking in Data

Thinking in Data

Bookmarks
51:07

Summary

Stuart Sierra discusses using a data-oriented programming approach in order to create programs that are easier to write and test. The session is accompanied with Clojure code samples.

Bio

Stuart Sierra is a member of the Clojure/core team at Relevance, Inc., and the co-author (with Luke VanderHart) of Practical Clojure (Apress. 2010).

About the conference

Clojure/West is a new conference bringing the Clojure community together to discuss techniques, tools, and the state of the Clojure ecosystem March 16-17th for three tracks of sessions. Prior to the conference, register for three days of training by the Clojure experts.

Recorded at:

Aug 30, 2012

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • A bit backward

    by Serge Bureau,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    We are in fact promoting to go back programming like in the sixties.
    Yes there is a percentage of applications tha are data centric, but it is far from the majoriry.
    Loosing the object orientation is too high a loss.

    Amusing to promote "visual abstraction" , since abstraction is very low on data centric programming, we see the tree but not the forest.

    The techniques presented are very well thought and appreciated the presentation, but I will stick to something like Scala that gives me data centric while also giving me the most important, object orientation. So yes I am an object.

  • It's all about representations

    by Henrique Rangel,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Whether it's an object, a map or even an array, they're all representations and abstractions. Should all be maps? I don't think so, but it depends of course :)

  • great talk but these ideas are not new

    by Steven Sagaert,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    great talk but data oriented programming is basically functional programming and his state threading pattern= the state monad from Haskell and generative testing=quickcheck from Haskell & Erlang.

  • Re: great talk but these ideas are not new

    by Paul Anders,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    to quote alan kay loosely: Computer science turned into pop culture. And to apply ideas from computer science, research , functional programming into the corporate world is an goal worthy to pursue. Not always easy but if you can do it, it can be useful.

  • Re: great talk but these ideas are not new

    by p callaghan,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Agree, but sometimes these things need to repeated a few time for people to start to appreciate the points. Would have been nice to have a few references to earlier work though. Also see this from a recent PragPub magazine pragprog.com/magazines/2012-08/thinking-functio...

  • It's all about connascence

    by Rich Morin,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Using maps reduces a strong form of connascence (position) into a weaker one (name). Stuart's other suggestions can also be examined in terms of connascence.

    See Connascence (computer programming) in Wikipedia and Jim Weirich's Grand Unified Theory of Software Design talk.

  • Maps, encapsulation, performance and juggling the facts

    by Alexey Tarasevich,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Clojure community believes that OOP's data representation encapsulation, universal access principle and the related are overrated and generally not needed, and map does the job well instead. And the presentation author tries to juggle the facts to support the community's belief. So when Stuart compares records and maps, performance does not matter. But when he talks about encapsulation performance of data representation suddenly starts to matter.

    So this spoiled a bit the impression of the presentation and left me unsure if the Clojure's community belief regarding encapsulation and maps story is adequate.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT