Live life to the fullest

my random thoughts and stories

Archive for December 2007

Neal Ford in JAX Asia 2007

leave a comment »

Last Thursday I went to JAX Asia 2007 conference in Ritz Carlton, Jakarta. It’s part of worldwide JAX conference talking about Java topics in trend. There were three speakers at this conference: Chris Anasczyk (IBM), Neal Ford (ThoughtWorks) and Thilo Frotscher (Independent Software Architect). I will only talk about Neal’s session here, since I was very inspired by his presentation although the other two guys are also good speakers.

The session starts with Neal giving tips on ’10 ways to improve your code’. He talked about several things which we all may have heard like version control, continuous integration but some are deeper like ‘prefer composition over inheritance’, ‘single level of abstraction principle (SLAP)’, ‘kill the sacred cow’. What I got from this session is we have to have discipline in Coding, be creative and not doing things blindly because everybody else do it.

The second session from Neal was ‘Introduction to JRuby’. He point us to how Ruby is different from Java, and how powerful it is. Everything is an object in Ruby. I think that beats Java right in its heart since Java always being claimed as an Object Oriented Language but has primitive which make people wonder how Object Oriented it is. Ruby is actually older than (or have the same age to) Java, but haven’t get much attention prior to Ruby on Rails (RoR). It is RoR which brought the momentum and lifted Ruby up to its popularity nowadays. For that reason Sun and Microsoft has put quite an effort to build an implementation of Ruby on each of their widely known platform, Java and .NET. JRuby was created as Ruby implementation purely written in Java. With JRuby one can get the flexibility of Ruby with the power of Java in his hand. I asked a question regarding Ruby’s feature ‘Open Classes’ which allow one to add new methods, attributes later on in other place. In my opinion this powerful feature will raise problems in the hand of undisciplined programmer. Neal answered that this problem will raise in every language. It depends on the developer. Neal also boldly state that is why we need unit test.

The third session was ‘Rails for JRuby’ showing us how Rails can run on top of JRuby. In fact we can use several Java’s feature, such as Distributed Transaction and numerous backing library, to strengthen Rails. There was also Rails demo which shows how easy web development is using Rails compared to Java’s programming model.

I have to admit that I am very impressed with Ruby since that day. I kept promising to myself that I have to learn this language as my secondary language and probably as my primary language in future. Since several big companies have invested dollars in Ruby it might have a bright future. I will start to learn ruby and write a journal on every experiment I make. So just wait for my upcoming Ruby experiment.

Written by jecki

December 7, 2007 at 11:17 am