BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Presentations Persistent Data Structures and Managed References

Persistent Data Structures and Managed References

Bookmarks
55:53

Summary

Rich Hickey’ presentation is organized around a number of programming concepts: identity, state and values. He explains how to represent composite objects as values and how to deal with change and state, as it is implemented in Clojure.

Bio

Rich Hickey, the author of Clojure, is an independent software designer, consultant and application architect with over 20 years of experience in all facets of software development.

About the conference

QCon is a conference that is organized by the community, for the community.The result is a high quality conference experience where a tremendous amount of attention and investment has gone into having the best content on the most important topics presented by the leaders in our community. QCon is designed with the technical depth and enterprise focus of interest to technical team leads, architects, and project managers.

Recorded at:

Oct 01, 2009

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

  • no sound?

    by Shahbaz Chaudhary,

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

    Looks like a very interesting presentation. I am specifically interested in the distinction between mainstream programs being processes rather than functions and ideas on how to do less mutation in imperative programs. Unfortunately I can't hear any sound! Any one else having the same problem?

  • Re: no sound?

    by Brian Edwards,

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

    Sound working for me on 10-07-2009 @ 12:53PM (GMT -5)

  • Inspiring talk

    by Russell Leggett,

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

    I have been following Clojure for a little while now but I haven't jumped into it. After listening to this I think I'll definitely have to find a project I can use it for. Sadly I think that it being a Lisp will hold it back from gaining mainstream popularity, but I think it will influence many languages to come, especially in regards to the things Rich talked about here. I think that Erlang is great concurrency solution, but I think the way Clojure does it is better for more general purpose programming.

  • Re: Inspiring talk

    by Alen Ribic,

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

    > Sadly I think that it being a Lisp will hold it back from gaining mainstream popularity

    On contrary, I think this might be one of the biggest things that separates Clojure from the rest in many beneficial ways. Clojure is making Lisp "fashionable" and Lisp brings invaluable benefits, accumulated over its 50 year history, to the language design that I think will give Clojure the longevity it needs to see it through next 50 years.

  • Re: Inspiring talk

    by Russell Leggett,

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

    Honestly, I hope you're right. Functional programming is definitely in vogue now, and perhaps Lisp was really just 50 years ahead of its time. I certainly think it is a superior language to many other mainstream languages currently in use, I'm just skeptical. I agree that it sets it apart, and it may draw the attention of some old Lisp hackers, but in the end I just doubt it'll go big. Nobody is proclaiming it to be the heir to the Java throne like Scala (which I think will attract the strongly typed crowd), and I think Groovy has good corporate backing and is picking up the dynamic crowd. That's not to say that it won't have a thriving community. And it may very well keep Lisp relevant for the next 50 years. I just don't think it'll have what most people consider "mainstream success". The same could be said for many other great languages. It's not an insult. I remember Joe Armstrong once being asked if he thought that Erlang would ever reach mainstream popularity. I believe he said something like, "I don't think so. But it will hopefully influence another language that is more accessible to the mainstream."

  • Enlightening

    by Duraid Duraid,

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

    This is an amazing talk. It laid in front of my eyes why concurrency is hard and why the computer model (memory + instructions) is not fit for the life model.

    The same way garbage collection solved the memory management problem, Clojure's STM and Persistent Data Structures are higher level mechanisms for the concurrency problem. Amazing!

  • illuminating talk

    by nicolae caralicea,

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

    After listening to it I understood why a language like Clojure and its great concepts deserves his place among Scala and Erlang. It also brings a lot to the table.

  • "Age-based barging"?

    by Dan Cancro,

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

    I am pretty sure I heard this wrong, but you mentioned something like this as a benefit of Clojure. Could you confirm what it was and what this means?

  • Link to transcript

    by Andy Fingerhut,

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

    A transcript of this talk is available here: github.com/matthiasn/talk-transcripts/blob/mast...

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