InfoQ

Presentation

Recorded at:
Recorded at

Are We There Yet?

Presented by Rich Hickey on Nov 12, 2009     Download: MP3

Community
Architecture,
Java
Topics
Language
Tags
Language Features ,
Concurrency ,
JVM Language Summit ,
OOP ,
Parallel Programming
Summary
In his keynote at JVM Languages Summit 2009, Rich Hickey advocated for the reexamination of basic principles like state, identity, value, time, types, genericity, complexity, as they are used by OOP today, to be able to create the new constructs and languages to deal with the massive parallelism and concurrency of the future.

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
The 2009 JVM Language Summit is an open technical collaboration among language designers, compiler writers, tool builders, runtime engineers, and VM architects. The talks inform the audience, in detail, about the state of the art of language design and implementation on the JVM, and the present and future capabilities of the JVM itself.
Are We There Yet? by Justin Forder Posted Nov 13, 2009 1:43 AM
Re: Are We There Yet? by Derek Christman Posted Nov 16, 2009 12:11 PM
Re: Are We There Yet? by Tony Butterfield Posted Nov 17, 2009 12:07 PM
Excellent talk by Thomas Hildebrandt Posted Nov 21, 2009 2:17 PM
  1. Back to top

    Are We There Yet?

    Nov 13, 2009 1:43 AM by Justin Forder

    Great talk! This is really, really important stuff.

  2. Back to top

    Re: Are We There Yet?

    Nov 16, 2009 12:11 PM by Derek Christman

    Thanks Rich for voicing so clearly what has to be eating so many developers. Great food for thought, and hopefully change!

  3. Back to top

    Re: Are We There Yet?

    Nov 17, 2009 12:07 PM by Tony Butterfield

    Great talk. I think you pinpoint the limitations of OO very well and provide some rich insights into how they can be addressed. To me real benefits of this approach is the avoidance of concurrency complexity and the ability to assert confidence on the correctness of operation.

    (Your reference to CAS had me confused for a while I was thinking "computer algebra system" rather than "compare and swap")

  4. Back to top

    Excellent talk

    Nov 21, 2009 2:17 PM by Thomas Hildebrandt

    A very good talk!

    I support the message that we should start looking at immutable data, i.e. value-oriented programming - and that the oo of today is out of sync with the kind of hardware and it systems we want to implement. However, there is still some way to go from the idea of using value-oriented programming to the design of an alternative programming paradigm that can replace (or improve) oo...

    If someone are interested in seeing an (arguable more esoteric) use of value-oriented persistent tree data structure (XML) I wrote a paper a while ago on using a peer-to-peer value-oriented XML store as a distributed programming model. Of course it does not need to be distributed or peer-to-peer, the key point is to coordinate processes by their (atomic) updates (i.e. creation of new trees) to the XML store.

    The paper (Distributed Reactive XML - an XML-centric coordination middleware ) can be found here www1.itu.dk/sw31433.asp. I would love to transfer this idea to multi-core processors..

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.