• Home
  • About
  • Significant Software Development Developments 2009

    January 14th, 2010

    Recently, Dustin Marx postet his top ten of the most “Software Development Developments of 2009“. Here is a short summary as a basis for further discussion:

    Mergers and AcquisitionsSpringSource acquiring Cloud Foundry, SpringSource itself being acquired by VMware; Oracle’s acquisition of Virtual Iron and GoldenGate, Microsoft’s acquiring of Interactive Supercomputing, Google’s acquisitions of companies such as reCAPTCHA and Teracent, etc.

    Changing Landscape of Software Development ConferencesColorado Software Summit and SDWest and SD Best Practices terminated their long-running tradition in 2009. There is speculation that JavaOne 2009 may have been the last.

    Java IDE WarsIntelliJ IDEA has been the only one of the four leading Java IDEs that has not been available without charge. In 2009, the availability of an open source community edition of IntelliJ IDEA potentially changed the Java IDE landscape.

    Groovy: Groovy claims to be “the most popular and successful dynamic language for the JVM”. According to Marx, this certainly seems to be the case (he mentions the high number of books on Groovy (and Grails) and the existence of a DZone area dedicated to Groovy (Groovy Zone) for evidence.

    Java EE 6: Marx defines the December release of Java EE 6 as a significant development in the enterprise space.

    Oracle buys Sun: According to Marx, even developers who do not use Sun or Oracle products are likely to be at least indirectly affected by this acquisition because it will almost certainly affect the entire software development competitive landscape.


    Also included in the ranking were topics as:

    • Programming Environments for Mobile Devices
    • Bing Search Engine
    • Scala
    • Java SE 7 News
    • Cloud Computing
    • Google Chrome OS

    If you are interested in Marx’ full review of 2009, please read his blog entry at JW Blogs. He also cited other annual reviews from JavaLobby and ComputerworldSo what are last year’s most significant developments in software development from your point of view?


    Jazoon 2009

    June 12th, 2009

    At the Jazoon, the international conference on Java technology (Zurich, June 23-25), James Gosling, the father of the Java programming language, will deliver the opening Keynote. So if you missed JavaOne this year, just attend Jazoon’09 and benefit from inside information and updates, but also get latest news about the future of Java. 

    Besides James Gosling, Jazoon’09 features many other interesting speakers from the Java world including Neal Ford, Ivar Jacobson, Adrian Colyer and Danny Coward. As a special guest we are pleased to announce Linda Cureton, CIO of the National Aeronautics and Space Administration (NASA) Goddard Space Flight Center in the USA. She will deliver the Jazoon’09 closing Keynote.

    Moreover, as the first developer conference in Europe, Jazoon’09 launched a competition for young speakers aged 26 and under. Out of the several dozen submissions, an expert jury has selected the three most promising. The finalists of the Canoo sponsored “Jazoon Rookie 2009” are:

    João Arthur Brunet Monteiro - Brazil
    Bettina Polasek - Hungary
    Deni Lukmanul Hakim - Indonesia

    On 24 June 2009, the conference audience and the jury will vote on the winner. Canoo is very exited to be involved in such an event, as the contest is an opportunity for creative minds under the age of 26 to present their ideas to a broad public of experts. Facing the present shortage of skilled IT specialists, it was an obvious decision for Canoo to actively support the advancement of young professionals and new ideas. 

     


    J1 2009: Grails Podcast Live with Dierk König

    June 9th, 2009

     

    CGUG was at the first ever live Grails Podcast event during JavaOne 2009 in San Francisco, CA. This was the first time Sven Haiges and Glen Smith have ever broadcasted from the same location in front of a live audience. Panelists included Canoo Fellow Dierk König, Scott Davis, Andres Almiray, Danno Ferrin and James Williams. 

     

     


    J1 – Final Remarks

    June 6th, 2009

    This conference was different in several respects. First of all, Oracle’s takeover of Sun is certainly a watershed and it remains to be seen how Oracle will drive the Java ecosystem. Larry Ellison’s appearance at the keynote was a strong and desperately needed signal for the Java community. At next year’s JavaOne it should be clearer how serious Oracle is about Java.

    Another difference was the comparatively small number of attendants. I cannot remember a JavaOne with plenty of space in the session halls (they even had tables in some of them which was convenient for laptop users) and short lines at the entrance, at lunch or at the restrooms. And for the first time ever at JavaOne the wireless network was kind of usable and mostly reliable. The quality of the talks was pretty good, though. This impression was also corroborated by other people I spoke to. Only two talks did not meet my expectations in terms of presentation and content.

    The two main topics were certainly JavaFX and mobility. JavaFX is Sun’s last bet to seize the desktop and RIA realm. Right now, they are trying to impress the designers but they have to address the needs of hard-core Java developers as well. It is still too early to tell but it will be a tough uphill battle for sure. Mobility has been a main topic for the last few years. However, the iPhone has definitely changed the landscape, especially in terms of usability and JavaFX Mobile is not yet there.

    Who were the prominent absentees? Android was almost never mentioned. Sun is obviously still not sure whether to ignore or fight it. Ignorance may be bliss but I think it is not the right approach here. I also never heard anything about portals (with the notable exception of iGoogle, which has nothing to do with JSR168). Looks like this technology did not catch on and will remain in its niche.

    One final remark: if Sun is really serious about Rich Internet Applications and JavaFX then they should come up with a vastly better JavaOne schedule builder. The current Web application is lightyears away from being usable and only serves as a bad example.


    J1 Session Blog: Last sessions

    June 6th, 2009
    JavaOne is winding down and I am in for a last round of sessions. Three of them were worth to blog about:

    Building Next-Gen Web Applications with the Spring 3.0 Web Stack
    Keith Donald and Jeremy Grelle from Spring Source talked about building Web applications with the Spring 3.0 Web stack. The goal of this Web stack is threefold: provide a unified programming model, support multiple client types (e.g. classic Web, AJAX, Flex), and be adaptable for different use cases. The basis of the Web stack are the Spring Framework and Spring MVC. Who would have thought otherwise? Restfulness is the service type in vogue and therefore this is now the preferred controller model in Spring MVC. The support for different client types is quite impressive. Spring invokes the appropriate content creation code based on the client. The server-side code looks pretty clean (if Web application code can look clean at all…). With Spring 3.0 support for AJAX is extended, but they are still conservative with JavaScript. Their approach is to decorate HTML elements with rich behavior. The decoration is optional and the user interface still works with JavaScript turn off. It is even possible to add client-side validation and the code for that is generated based on the server-side model meta data. As a summary, both presenters were excellent and within an hour I got a very good overview on the upcoming Spring Web stack.

    Introduction to Google Guice: Programming is fun again!
    The next talk was excellent as well and gave a concise introduction in Guice. The presenter mainly focused on dependency injection and how this can help to modularize your Java code. The factory design pattern is well known and is intended to vary object creation. However, it does not solve the dependency issue and requires additional effort for testability. Guice is really convincing in this area. By means of annotations and a clever API which almost feels like a domain specific language one can mange dependencies way better than with factories (and with less boilerplate code too). I especially liked their approach of a mostly programmatic approach (rather than trying to coerce annotations into a programming language). There is no XML, only a few annotations and everything else is done programmatically. The speaker emphasized that Google prefers Java code over XML. Guice even allows to configure servlets programmatically rather than having a huge XML file. Scoping is another nice feature of Guice. A scope defines the life cycle of an object, such as a singleton which is created only once and reused thereafter. On the server side the scope may also be request- or session based. Injected objects  can be decorated with method interceptors for aspect oriented programming. All facilities of Guice are exposed via an API which is great for tool developers. Guice works both in Java SE and Java EE, in Android, Google App Engine, and even in GWT (via GIN). They also announced their support of Java modularity which comes with Java 7. Guice looks like a great alternative to other dependency injection frameworks such as Spring or Pico.

    Building Enterprise Java Technology Based Web Apps with Google Open-Source Technology
    The last session I attended was about Google development infrastructure too, given by Dhanji R. Prasanna who is one of the core engineers of Google Wave. Java is really at the core of Google development. Two of the main advantages of Java for Google are type safety and developer scalability. Type safety is important because it allows to reason about program behavior and this is crucial for horizontal scalability. For example, the scalability of the Google App Engine depends on this. Developer scalability is also a top priority for Google. Their experience with JavaScript is that it does not scale at development time at all. The overhead to develop with JavaScript in a team of developers is prohibitive, since it does not have the means to create solutions that are sustainable in the long term.
    Dhanji started the talk with Guice which was kind of a summary of the previous talk. I was slightly amused about the slogan he used for Guice: Vitamin C for your app! Then he explained how they used GWT (pronounced gwit and not g-w-t) for the iGoogle portal. Only the combination of Guice (resp. GIN) and GWT can achieve both flexibility and scalability. However, I found their notion of MVC pretty strange. The view cares only about visual aspects, which of course makes sense. The controller captures the presentation logic and the model communicates with the server. Now here comes the catch: the controller dependes both on the view and the model. hence, if they run unit testing for the controller they have to replace the view with a mockup view (using dependency injection with Guice). A presentation model would be way more convenient since it has no dependency on the view whatsoever.
    Google has also developed an infrastructure for functional (acceptance) testing of Web applications, called Web Driver. It is purely Java based (he argued that Google developers don’t like to learn yet another XML dialect) and it comes with browser plugins for IE, Firefox and Safari. Hence, they can achieve very fast DOM interaction and asynchronicity is well hidden from the test case developer.
    The last puzzle piece is called Sitebricks. This was kind of an official announcement and it will be available publicly in the near future. Sitebricks is a RESTful web framework for Java. He emphasized two properties: speed and statically typed templates. Yet again another example how important static typing is to Google.
    Bottom line: excellent speaker and convincing presentation.