Bio Richard L. Hudson is best known for his work in memory management and leveraging the transactional memory to enable concurrent garbage collection. He pioneered the use of stack maps in statically typed languages like Java. For the past 2+ years Richard has worked on the River Trail team researching the concurrent programming models needed to implement a more visual and immersive web experience.
Software is changing the world; QCon aims to empower software development by facilitating the spread of knowledge and innovation in the enterprise software development community; to achieve this, QCon is organized as a practitioner-driven conference designed for people influencing innovation in their teams: team leads, architects, project managers, engineering directors.
I think you’ve hit on the serious pain of programming, which is that we’ve got a generation of programmers who have been programming in sequential ways. They look at something and they think about a FOR loop, and think about stepping through a list. In a parallel world, you really want to think in a different way, you want to think in a parallel world where you have all of these values and you want to change them in parallel, create new values in parallel, and you have to break out of that sequential thought model, if you will. And it’s not only the programmers, we’ve got generations and generations of chips, that were designed around making C - a naturally sequential language and Fortran - run faster, so we also have to think about those types of things. So those are the pain points, it’s just moving from this sort of sequential world into this parallel world.
And that’s fair; these types of approaches have not been wildly successful. Our constructs say: “We are going to say no to that”, we are going to say: “We are going to maintain the same determinism you see in single threaded programming, and we are going to make it parallel”. That has some definite implications when it comes to the value of functional programming. So if you are a functional programmer, you don’t mutate already, we are not going to let you mutate, so you are going naturally became a very good functional programmer when you start working in RiverTrail, because that is the way we do things.
HTML5 is fantastic, they’ve basically taken the web to the next level and they said: “Look, you can now have access to all these great new APIs”, and that left an opening for RiverTrail. You have access to this stuff, you need really great computation to take advantage of it. Intel RiverTrail says: “Ok, this is great stuff, we can make it beautiful, we can make it sing because we will give you the computational power that you need to make it work”, and that’s what RiverTrail is. So RiverTrail probably couldn’t have happened without HTML5, because we do all this great work, but without HTML5 we would not be able to show it to anybody.
It’s very positive, actually we mentioned earlier that we are on the Ecma Committee and Ecma seems to be one of the key steps towards getting this stuff into other browsers, and all that Committee of all the browser vendors, so they all aware of it, and they are encouraging the Ecma Committee going. As we’re moving into the browsers we are working closely with Mozilla to trying see what it would take to get it into the Mozilla Firefox stuff, but there is another roadmap. There are really two roadmaps in these things and a lot of time think there is only one, you have the chip roadmap, but the other roadmap is the application roadmap. We are not going to get this into a browser unless we have compelling applications, if it’s not in the browser we are not going to get compelling applications.
It’s all in GitHub, every demo that you’ve seen, is all the code for, every bit it’s between our toes is available in GitHub, if you go to https://github.com/RiverTrail/RiverTrail/wiki, you can get all the codes, you can look at, you can change it, you give us feedback. We are very interested as working with the application developers or hope to, that will be able to give feedback about what’s good about the API and what’s bad about the API. But all the code’s out there; it’s totally open source, we are trying to be as free in open about this, because we feel that is the way of the web if you want to say, that’s the way that the web works, is this cooperation and we are trying to fit into that as best we can.