Did you know that you can navigate the posts by swiping left and right?

JAOO Day Three - Wednesday

04 Oct 2006 . tech . Comments #jaoo #bdd #software architecture

There was an especially interesting track today, and that’s the track called “Back to the Future”. This is one of Dave Thomas’ brainchild, which allows him to present the things that have been done before. One of his pet pieves is that we need to study the past in order to develop the right technology the right way for the future. And I totally agree with him. That’s why I spent most of my time in that track today.

The first session was the introduction to the track by Dave Thomas, a talk he calls “Hot old ideas”. In this talk he goes through much of the history of computing and programming languages, basically listing all the languages and given a brief description. You’ll have to look at the presentation. The message is: It is dangerous to live in a monoculture! Learn about other languages and technologies to find out what was done in the past, what worked, what didn’t and most importantly: WHY!!!

The second talk was done by Guy Steele (father of the Scheme language, together with Gerald Sussman). His talk was about “The history of Scheme”. He explained the tradition at MIT that led up to the creation of Scheme, as well as some of the other languages that was created at MIT prior to Scheme. This was very interesting, especially after having studied the Abelson/Sussman lectures, which use lisp (of which Scheme is a dialect).

After lunch I went to a presentation by Dan North and Niclas Nilsson about “Behaviour-Driven Development”. As I have mentioned earlier, I have spent some time talking to these guys over the last couple of days, and I must say that BDD really interests me. In fact I think it is a key to doing software development right!! Wow. That’s a big statement. I think that deserves a separate blog entry. To be continued.

The last session of the day was a brilliant talk by Kevlin Henney called “The five considerations of Software Architecture”. In this talk Kevlin lists five considerations that should be in the back of our minds when we are dealing with software development. The considerations are:

  • Economy
  • Visibility
  • Spacing
  • Symmetry
  • Emergence

These are not rules, simply considerations that needs to be taken into account when we are making the decisions that make up the architecture and design of our systems. After the talk, Kevlin told me that he really has a four hour talk on this subject that shows how these considerations really are applicable to any level of development from the business analysis to the coding itself. Since Kevlin is such a brilliant speaker, I’m considering bringing him to Stavanger to do this talk for Statoil. I think it would do us good.

The day ended with a panel of selected speaker talking about the future of programming, more specifically how will we be programming in 2016 (ten years from now). Dave Thomas moderated the panel, which consisted of Guy Steele, Ole Lehrmann Madsen, Steve Vinoski, Kevlin Henney and Erik Meijer. In my opinion, the panel really didn’t take the subject far enough, and ended up talking about how concurrency will influence future programming. There was also some discussion about how tools and programming languages will evolve. All in all pretty interesting.

After this event I would up in the hotel bar for a couple of hours with Dan North, Niclas Nilsson and a couple of other guys, one of them was a thoughtworker called Ian Cartwright. He’s a young guy, but as all thoughtworkers, pretty smart, and actually the substitute for Martin Fowler. Turns out he has co-presented with Martin on a number of occations. This was an enjoyable couple of hours, and we got to talk a little bit about our situation in Statoil, and the thoughtworkers shared a couple of tips with me. They all offered to help us out if we wanted, which is good to know. We also spent some time discussion Aspect oriented programming, and a seed for a new article was sown. I think it is time to give some counter examples to this AOP thing, since all we hear is that it is useful for things like logging and security. I’m considering doing an article on this even if it means I’ll have to read up on AOP a bit. We’ll see. It’s good to know that these guys, who are unbelievably smart guys, are actually interested in the opinions of a guy like me. Cool.