London Java Community Open Conference 2011

Yesterday I was explaining my trend for blogging to an ex-colleague and he felt that to make any kind of impact in the tech space blogging sphere I would need to blog a thousand words a day! I don’t think I will ever come close to that, however I will try to blog at least one technical article a week until the end of the year. That’s achievable right? That is only 5 weeks away, I am sure I have 5 blog posts in me.

Back to the original point of this post, I was at the London Java Community Open Conference where I met many ex-colleagues including my friend who thinks a thousand words is a realistic target.  The conference is a yearly collection of presentations loosely linked to the daily life of a java developer. It was held at IBM’s offices on the Southbank which allowed for some great views of the Thames as we sat and listened to the eclectic mix of presenters.

I woke up late with a slightly sore head and was only able to catch the second half of the keynote speech by Ben Evans and Martijn Verburg on their insights and predictions of the Java Ecosystem and community. They interestingly made the comment that Swing was dead and Oracle was moving it into maintenance mode to be replaced by JavaFX. They didn’t give a timeline on this but I think, like ‘roaches, it will be hard to kill Swing off. It’s interesting as I always didn’t any credence to JavaFX, I had heard it was a competitor to Flash-Flex and immediately had dismissed its importance. But the guys were saying that Oracle have dropped the scripting concept and have refocused the team. (ahh that will be a blog post, a frustrated web developer’s trials and tribulations of JavaFX development)

I also learned the London Java Community had a place on the JCP. This is an amazing testament to the strength of the community in London. I remember when I first moved to London and did a quick search of technical user groups and only found the Java Special Interest Group which didn’t seem extremely active. Now there are so many well supported and exciting developer groups throughout the city and throughout the different programming languages and frameworks. Read more about their amazing election win at http://londonjavacommunity.wordpress.com/2011/05/12/the-ljc-and-the-wider-java-community-the-jcp-election-win/

As part of the JCP process LJC get to vote on ever JSR, I can only contemplate the sheer volume of paper work this produces, to encourage wider community participation they have introduced “Adopt a JSR” programme. I think the title speaks for itself, pick a JSR and get involved. I think we all these things it requires a considerable amount of effort and dedication. A quick look on the LJC website and at present they seem to be looking for help with the following JSRs

These are key JSRs for both the JSE and JEE standards and it a great way to get involved in shaping the future of both specs. If you want to find out more go to http://londonjavacommunity.wordpress.com/2011/09/29/adopt-a-jsr/

“The really frakkin simple guide to clojure” by John Stevenson

Next up on the conference schedule was a quick introduction to Clojure by John Stevenson who happens to be the Atlassian Ambassador for the UK.

I go through a functional programming phase every 3-4 months, I pick the functional language of the day, buy a book, hack around, give up complaining that real people don’t need this and go back to procedural programming object oriented programming. I had heard of Clojure but never mustered enough interest to check it out. I am still trying to improve at Scala and really do not have the capacity to learn two pseudo-functional languages at the same time.

Clojure is a dialect of Lisp, interestingly Lisp was the second programming language I learned when I was a kid. The reason is that one of the applications that I had access to was AutoCad which had a dialect of Lisp called AutoLisp. I am not sure if the AutoLisp is around anymore but it was perfect for extending AutoCad’s primitive functions.

Back to the presentation, it was a real fly through the language and its constructs. John gave a good feel for the language and highlights the strengths of the language in a mutli-core world. Well highlighted the strength of functional languages. Enough of an introduction to bait my interest but not enough to ditch Scala right now as my “language to master”

Haskell – Emily Green

If I knew little about Clojure I knew even less about Haskell! Emily Green works for a company called Scrive who build their serverside applications in Haskell. She was a java developer in a previous life but now has been programming Haskell for the last nine months. An engaging presenter, one of the best I saw at the conference. The interesting thing is that for the majority of this talk she gave no really insight into the language itself. I was hoping for a 40mins introduction to Haskell and to live with some idea about the language. However it wasn’t until the very end before there was even the slightest hint of code.

Nonetheless the talk was very interesting and was centred on her life with Haskell. She gave a very brief tour of her likes and dislikes with the language and the community. I will not do the talk and justice by trying to list out all the points but the two that stuck in my mind were make the complier work more. Her example was that instead of writing unit tests to ensure that all code is tested, write the logic into the code and get the complier to ensure correctness at compile time. Emily noted that when working with Haskell that the complier will refuse to compile if the code is not just syntactically correct but functionally too. The other point I remember from yesterday is that she mentioned that most of the content produced around Haskell are academic papers as the language is rooted in research. Also she mentioned something about monads 😉

The Future of Java – Steve Elliott

Steve Elliott from Oracle present on the future of Java. Starting with going through some of the hilightls of the recently released version Java 7 he moved on to focus on version 8 & 9. Java 8 is expected sometime in the Summer of 2013 and will introduce some ground breaking changes. Language-level support for lambda expressions is due for this version and is hotly debated throughout the Java community. Recently a build of Java 8 with the first true preview of lambda expressions was released and syntax will be (copied and pasted from Brian Gotez’s email to the lambda dev mailing list on the final decision http://mail.openjdk.java.net/pipermail/lambda-dev/2011-September/003936.html)


x => x + 1

(x) => x + 1

(int x) => x + 1

(int x, int y) => x + y

(x, y) => x + y

(x, y) => { System.out.printf("%d + %d = %d%n", x, y, x+y); }

() => { System.out.println("I am a Runnable"); }

I need to spend some quality time with the latest complier but this is pretty much the C# syntax so for .net developers or scala developers for that matter it should be relatively straightforward to pick up.

Another key core component predicted to be released in 8 is project jigsaw or more commonly know as java modularization. Steve reiterated that this was not just adding Ivy or Osgi to the top of java but go the root core of the platform and add modularization to the java platform itself. Java has evolved over the years and the component entanglement is major problem. The task of unpicking the component and stitching them back together is currently underway.

Steve referenced Mark Reinhold’s requirement documents on the java module system as a good place to start to understand the true mammoth of the task. You can check it out at http://openjdk.java.net/projects/jigsaw/doc/draft-java-module-system-requirements-12#_1

Advertisements