InfoQ

InfoQ

Presentation

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Recorded at:
Recorded at

Persistent Data Structures and Managed References

Presented by Rich Hickey on Oct 01, 2009 Length 00:55:53
Sections
Development,
Architecture & Design
Topics
Architecture ,
Java ,
Programming
Tags
Clojure ,
QCon ,
QCon London 2009
The next QCon is in London March 5-9, Join us!
 

How would you like to view the presentation?

In case you are having issues watching this video, please follow these simple steps to help us investigate the issue:
1. Right click on the video player and select Copy log
2. Paste the copied information in an email to video-issue@infoq.com (clicking this link will fill in the default details in most email clients).
Note: in case your email client hasn't automatically picked up the email subject, please include in your email the URL of the video too.
3. Done.
We will investigate the issue and get back to you as soon as possible. Thanks for helping us improve our site!
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.
no sound? by Shahbaz Chaudhary Posted
Re: no sound? by Brian Edwards Posted
Inspiring talk by Russell Leggett Posted
Re: Inspiring talk by Alen Ribic Posted
Re: Inspiring talk by Russell Leggett Posted
Enlightening by Duraid Duraid Posted
illuminating talk by nicolae caralicea Posted
  1. Back to top

    no sound?

    by Shahbaz Chaudhary

    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?

  2. Back to top

    Re: no sound?

    by Brian Edwards

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

  3. Back to top

    Inspiring talk

    by Russell Leggett

    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.

  4. Back to top

    Re: Inspiring talk

    by Alen Ribic

    > 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.

  5. Back to top

    Re: Inspiring talk

    by Russell Leggett

    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."

  6. Back to top

    Enlightening

    by Duraid Duraid

    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!

  7. Back to top

    illuminating talk

    by nicolae caralicea

    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.

Educational Content

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.

Polyglot Persistence for Java Developers - Moving Out of the Relational Comfort Zone

Chris Richardson shows how he ported a relational database to three NoSQL data stores: Redis, Cassandra and MongoDB.

The Golden Circle – Why How What

Jean Tabaka challenges the audience to reflect on what Agile practices they are employing, how they are using them, ending with the questions “Why have their organization chosen to go Agile?

The Web Platform as a Limitless Pool of Innovation, with Andreas Gal

Andreas talks about the benefits of the Open Web and how it compares to proprietary stacks. He also talks about various projects that push the envelope like Boot to Gecko, Broadway and pdf.js.

Hadoop and NoSQLin a Big Data Environment

Ron Bodkin discusses early adoption of Hadoop, NoSQL and describes MapReduce and related libraries and Frameworks. Other topics include Hive, Pig, multi tenancy, and security in a big data environment

Spring and Platform Interoperability

Stephen Bohlen explains how Spring helps with interoperability between Java and .NET, demoing it with the help of a sample application.

How to Stop Writing Next Year's Unsustainable Piece of Code

Guilherme Silveira mentions some of the turning points in project development that may affect the quality of the code offering advice on avoiding writing crappy code.