JAOO Brisbane: Goldilocks and the Concurrent Processes

Today I attended the first day of JAOO Brisbane. A pleasant diversion from the everyday, a chance to catch up ghosts of workplaces past, and an opportunity to see presentations by some IT thought leaders.

Erik Meijer started the day wanting to make a case for “fundamentalist functional programming”. The IT community has reached a crisis point of distributed systems and multi-core computers that is not solved by present day programming languages. A (the?) primary issue to be solved is in eliminating hidden side-effects. Stating side-effects is an enabler for implicit concurrency, rather than, say the explicit world of threads in Java. Hopefully that is a reasonable summary – the talk was impressive enough just because of the journey that we went on.

Finishing the day were Erik Dörnenburg and Martin Fowler searching for design that is just right. There was some discussion of essential and accidental complexity. Essential is required by the problem you are facing, accidental is required by the approach you take. Solutions with too much simplicity are not tasty and neither are solutions with too much complexity. Getting your design just right is a primarily a craft. It may be helped by things like Domain Driven Design or reducing irreversible architecture choices by removing them or delaying them.

Facebooktwitterredditpinterestlinkedinmailby feather

1 thought on “JAOO Brisbane: Goldilocks and the Concurrent Processes

  1. rojadirecta

    Definitely imagine that that you said. Your favourite reason appeared
    to be on the net the easiest thing to take into account of.
    I say to you, I certainly get annoyed whilst other people consider concerns that they plainly do not recognise about.
    You managed to hit the nail upon the highest and outlined out the whole thing with no need side-effects ,
    other people could take a signal. Will probably be
    again to get more. Thanks

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *