Category Archives: java


Quick thoughts from QCon

I’m at QCon in London – a conference aimed at the “technical team lead, architect, and project manager”, according to the little printed guide, and notable for having tracks on .NET as well as Java, though in reality this is more of a Java crowd.

Good session from Martin Fowler and others from ThoughtWorks on “Modifiability: or is there Design in Agility?” This is about the distinction between agility and chaos; Fowler referenced a remark he attributed to Kent Beck about the difference between the simplest thing that will work (good) and the stupidest thing that will work (…). Just common sense nicely articulated: take most care over the decisions that are the least reversible.

I also enjoyed the comments on test-driven development, noting that a spin-off benefit of TDD is that it enforces modular design, since without modular design you cannot easily create tests.

I sat in briefly on Christian Weyer’s introduction to WCF (Windows Communication Foundation). What I learnt is that outside a niche of advanced Microsoft platform developers few people have any clue what WCF is; Weyer’s presentation didn’t change this much as few attended, which is a shame. Incidentally I’m seeing quite a bit of WCF misinformation floating about, for example that it is just a wrapper around old stuff like .NET remoting, or that it can only use SOAP and therefore must be slow. Neither is correct. Microsoft has a tricky PR job on its hands to get attention for this; the same applies to WPF (Windows Presentation Foundation) and the other .NET Framework 3.0 technologies.

I won’t say more about Weyer’s session as I had to leave early to talk to Amazon’s Werner Vogels about its platform services like S3 and EC2 (internet storage and on-demand servers). I asked Vogels why Amazon offers no SLA (Service Level Agreement) on these services; he said it was early days and to watch this space. Ironically he mentioned that Amazon attaches great importance to SLA’s internally, so at least it understands the need. He added that Amazon is committed to maintaining its current strategy of relatively low pricing. It was a good chat and I’ll try to find time to write some more about it shortly.

That’s it for now; next up for me is Larry Constantine’s keynote on usability; tomorrow Eric Maijer is speaking on LINQ (Language Integrated Query), which he created. More later, but not from the conference center as the internet connection is injuriously expensive (£6.00 for 30 minutes). Ouch.

CodeGear (Borland) to support PHP tools

New is drifting out concerning CodeGear’s plans to evolve its development tools. Here’s a snippet from Michael Swindell, CodeGear’s VP of products, writing in the Delphi non-technical newsgroup:

Dynamic languages such as PHP and Ruby new areas where we will be going. Some products will be more in the RAD camp, aligned with Delphi and VCL, and others will be more in the Open Source/Eclipse/Enterprise world. As a developer focused company we cannot be just the Object Pascal, C++, Java development company… there is way too much happening in the world of programming and languages and frameworks for us to stand still.

All a bit vague, but I do get the impression of renewed energy at CodeGear now that it is somewhat independent of its parent company, Borland. There are also mutters about Ruby and about another take on Kylix, Delphi for Linux.

Is PHP a good bet? Possibly, insofar as PHP is hugely popular but not particularly well supported by development tools. Personally I’d rather work in ASP.NET or Java; yet I have huge admiration for WordPress, to mention just one PHP-based application. As ever, CodeGear will be up against strong free tools, not least the existing Eclipse PHP Development Tool.

Cast your mind back 12 years, if you have been around that long. Borland’s Delphi 1.0, released in 1995, was worth paying for, in fact a fantastic bargain, because it cracked the problem of combining visual RAD productivity and fast native compiled code. What could have a similar impact today, when Microsoft has Windows development wrapped up, and Java has a surfeit of high quality free tools? I don’t find it easy to see.

Technorati tags: , , , , ,

Sun’s J2EE certification may be too slack

In a series of blog posts here and here, Compuware’s Andrei Iltchenko writes about incompatibilities between different vendor implementations of J2EE. He works on the OptimalJ MDA (Model Driven Architecture)  product which generates Java code from language-independent application models. He found unexpected inconsistencies between Sun-certified J2EE application servers, for example:

When we started testing our code generation modules for J2EE web services on one vendor’s application server, we were in for a big surprise. The application server had a non-XML Schema aware web services stack, which effectively meant no proper support for WS-I Basic Profile. Why wasn’t such a major omission caught by SUN’s compatibility test suite for J2EE 1.4?

I was also surprised by his comments since in general Java’s cross-platform, cross-vendor compatibility strikes me as much better than it was in the early days. No doubt Iltchenko stresses this more than most developers, but note his conclusion:

With the differences in implementing the same J2EE 1.4 features I described, one should probably start questioning how feasible it would be to maintain a J2EE 1.4 application that needs to run on more than one application server and not be rigged toward a given vendor.

Technorati tags: , , ,

Is Eclipse adoption peaking?

The rise and rise of Eclipse, the open-source tools platform, is now an old and familiar story. It’s possible though that Eclipse adoption is nearing its peak. I’ve just received issue 43 of the EclipseSource newsletter, which includes the results of BZMedia’s November 2006 survey. Here are some snippets that interested me:

  • The survey is in its third year, and shows Eclipse Enterprise adoption at 54% in 2004, 62% in 2005 and now 67% (the survey says “two thirds”). Still growing, but a flattening curve.
  • The single most popular feature of Eclipse is its low cost (cited by 65% of respondents)
  • By far the primary use of Eclipse is for Java development (more than 70%), despite its support for other languages. In terms of languages, the next most used is SQL at 25% and C++ at 24% (of course these stats overlap).

Although Eclipse clearly still dominates Java development, I’ve picked up some dissatisfaction among developers I’ve talked to at conferences. Some of the complaints are the variable quality of Eclipse plug-ins, difficulty in managing plug-in dependencies especially across a team, and the view that Eclipse is less productive than favourites such as IntelliJ IDEA.

I also note that “free” is not such an unique feature these days, and that the Sun-sponsored NetBeans is winning praise for advances in its Java tools.

Don’t misunderstand me; Eclipse is not under threat. But I would not be surprised to see further levelling off of its adoption curve, or even a small decline in the next year or two.

Technorati tags: , , ,

JetBrains OMEA going free and open source

Prior to my current experiments with the IE7 RSS platform, my blog reader of choice was Omea Reader. However, despite the popularity of RSS, Omea Reader somehow never made it beyond a small niche, as I know from my own web stats. The company has just announced that the product is now free and will become open source.

Oddly, I can’t find a valid url for the announcement, though it turned up in my blog reader. Here’s the quote:

After collecting your opinions and having long internal discussions, we have finally decided to move Omea Pro into the open source domain.

This will definitely take some time, but the first step has already been made – from now on, Omea Pro is available free of charge.

Thank you for your input, and you are welcome to contribute to Omea Pro development when it goes open-source.

— The Omea Team at JetBrains

I am sorry that Omea Reader has not been a big commercial success, especially as I admire the work JetBrains is doing with its Java IDE IntelliJ IDEA and with ReSharper for Visual Studio. Even so, a big thank-you to JetBrains for doing the right thing and open-sourcing OMEA rather than freezing it as so may companies do with their abandoned products. I think the Omea code will be interesting as a .NET sample project even for those who do not want to use it. I will be intrigued to see how much PInvoke code is in there.

As an aside, one thing I notice when I talk to IDEA users is satisfied they are with the product. They feel it gives them an edge over competitors working with more popular tools like Eclipse and NetBeans. By contrast Eclipse users almost always have some grumbles. Same with NetBeans though I don’t hear so many complaints since version 5.x.

Is this really JBuilder?

Today I attended a briefing on JBuilder 2007. The briefing was given by CodeGear’s Jon Harrison and was in two parts, the first covering the thinking and background behind the product, and the second a hands-on demonstration of some of the features. Please note that I have not yet tried out the product, and Jon only demonstrated a few of the features, so what follows are just my first impressions.

This product is Eclipse, not JBuilder as we know it. I doubt there is much of the JBuilder 2006 code remaining. What Borland CodeGear has done is to package up Eclipse with new visual editors for EJB and Web Services, plus some tools which look like they are based on the Together visual modeling technology, plus OptimizeIT, which is a Borland profiling and debugging tool, plus specific support and integration with several open source products (Subversion, Bugzilla, XPlanner, JBoss, Apache Continuum). Those used to PrimeTime, the old JBuilder IDE, will need to learn Eclipse to use the product; not much will be familiar to them. At least you can import existing JBuilder projects.

Harrison explained that CodeGear did not want to duplicate existing Eclipse projects, but rather to build on them. He described it as “sitting on top of a pure Eclipse environment.” CodeGear wants to avoid creating a proprietary Eclipse, though note that JBuilder 2007 is a closed-source product so to some extent this is playing with words. 

One consequence of this decision is that the excellent Swing GUI editor in JBuilder 2006 has gone and is replaced only by the immature Eclipse Visual Editor. There is other missing functionality. There’s no support for J2ME, nor for Borland Enterprise Server (Borland’s J2EE application server). To sweeten the pill, JBuilder 2006 is included in the box with JBuilder 2007.

Another disappointment and retrograde step is that JBuilder 2007 is initially Windows-only, though CodeGear fully intends to support Mac OS and Linux in due course.

The most interesting aspect of JBuilder 2007 is its project management features, unfortunately reserved for the Enterprise edition. Harrison did not demo these, but showed some screenshots. Project Assist supports team working by integrating the open source ALM products mentioned above, while the Project Portal is for monitoring team progress. The Project Portal is based on LifeRay, an open source portal framework.

I doubt this will be an easy sell for CodeGear, but there is hope. It was clear from the Q&A session that while Eclipse has large numbers of users, not all of them are happy. Problems include dependency management, and the difficulty of maintaining a consistent and reliable development environment across an enterprise. Thus there is scope for providing a commercial Eclipse distribution, especially if combined with strong update tools that pre-package Eclipse add-ons with all the dependencies worked out. I realise that Eclipse has its own update manager, but apparently this is not as good as it should be.

That said, I question whether this product should bear the JBuilder name. The official line is that this is just another transition for JBuilder, similar to when the original Dephi-based IDE was replaced with a pure Java version. That’s nonsense. I have tracked all the versions of JBuilder over the years, and there is nothing that compares with this radical change.

The product has apparently gone to manufacturing and will be available before the end of the year.

More information on JBuilder is here.

Update: please also see the comments below from Joe McGlynn, from the JBuilder team.

Borland’s JBuilder-on-Eclipse emerges

Borland CodeGear has announced details of JBuilder 2007, the first version of its Java IDE to be built on the Eclipse platform.

I’ve read quickly through the various PDFs, but it is hard to get a feel for the product from these alone. Is it more like Eclipse, or more like JBuilder 2006? What has happened to the Swing designer, which was the best in the business until Matisse came along. What must-have features is CodeGear providing to tempt developers away from NetBeans or plain old Eclipse?

Tomorrow I’m attending a briefing, so check back for an update soon.


Oracle, JDeveloper and Eclipse

Oracle has posted a strategy and roadmap (pdf) for JDeveloper, its Java IDE, and the Oracle ADF application framework. It looks like a bunch of interesting stuff is coming in JDeveloper 11, including JEE 5.0 and EJB 3.0, AJAX controls for JavaServer Faces, and “declarative validation using standard expressions or scripting languages such as Groovy”.

So full steam ahead for JDeveloper, but what about Eclipse? Oracle is a member of the Eclipse Foundation at the add-in provider level, but is sticking with JDeveloper as its primary development tool:

A question that we are often asked is “Why hasn’t Oracle implemented all of its design time features as Eclipse plug-ins?”. Given the popularity of this open source IDE, it is a valid question. However, the answer is simple. By controlling the entire development environment, we have been the ability to produce both the shell and the core architecture which allows seamless integration of all types of design time environments, all sharing the same concepts and look and feel. If we just created specific plug-ins for Eclipse, each plug-in might be very effective on its own but it might not necessarily be consistent or compatible with third-party plug-ins, and would not offer to developers the level of productivity provided by a fully integrated environment. For those developers who have already made the choice to use Eclipse, we also contribute to this platform and lead open source projects to provide standalone Eclipse plug-ins for specific technologies such as JSF, EJB 3.0 or BPEL.

This is consistent with the reasoning given when Oracle first joined Eclipse:

Oracle is joining the Eclipse board to make sure that Eclipse developers can take advantage of the Oracle deployment platform (i.e. database and application server).

In other words, Oracle does not want to lock itself out from Eclipse developers, which is just as well since Eclipse is by most counts the most popular IDE out there, while JDeveloper is maybe 3rd (after NetBeans); it used to be behind JBuilder but I doubt that is true now, with all the uncertainty around Borland’s tools. More worrying for Oracle is that some figures (BZ Research in December 2005) show its market share in steady decline, from around 25% in 2002 to 15% in 2005; I don’t much trust these figures but I don’t have better ones to hand.

Does it make sense for Oracle to persevere with JDeveloper? The argument quoted above is not the whole story. If Oracle thinks that combining plug-ins from multiple vendors in one IDE does not work, why is it the prime mover behind JSR-198, a proposed JCP standard for IDE plug-ins that is meant to enable interoperability across IDEs? I suggest this has more to do with Oracle regarding the IDE as a strategic asset. It wants full control of the tools as well as the platform (app server and database).

Personally I welcome JDeveloper in that I welcome diversity among Java IDEs, and last time I looked at it I was impressed with its quality. At the same time, I’m not convinced that there is any really good reason why Oracle should not embrace either Eclipse or Netbeans rather than continuing to go it alone. Despite its strong features, I doubt JDeveloper will attract much usage beyond Oracle shops, given the excellence of the open-source alternatives.

One final thought: the new Eclipse-based JBuilder will have to be extraordinarily good to succeed in this crowded market.