InfoQ Homepage Presentations Thinking in Data
Thinking in Data
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.
Community comments
A bit backward
by Serge Bureau,
It's all about representations
by Henrique Rangel,
great talk but these ideas are not new
by Steven Sagaert,
Re: great talk but these ideas are not new
by Paul Anders,
Re: great talk but these ideas are not new
by p callaghan,
It's all about connascence
by Rich Morin,
Maps, encapsulation, performance and juggling the facts
by Alexey Tarasevich,
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.