Dear Bruce Eckel : Hybrid Java, Google Web Toolkit and Adobe Flex

by Paul Browne

Dear Bruce,

First up, thanks for the book. Yes I'm saying thank-you about 8 years too late. 'Thinking in Java' is what got me going in the language and in my mind is one of the best Java books written (sorry Tim). Giving it away free only cemented your reputation as the Bono of the Java world. OK, Bono without the Guitar, the Stetson and with a couple of overloaded constructors thrown in, but a man of stature nonetheless.

Secondly, I'll forgive your flirtations with Python, on the basis that I've been having an affair myself with JRuby. I now understand the pain that you've been having at home, the endless repetitive arguments to get simple things done, and the temptation of a newer, younger, more flexible model.

So , I think you're onto something here in your blogpost. I can feel the pain, the need to deliver Rich clients to users over the web. I think that Ruby / Google Web Toolkit / Struts 2 / Name your web toolkit has further to go than you may think , but eventually these 'heroic efforts' (nice quote) will run out of steam. On the basis of your recommendation alone I'm willing to look at Adobe Flex, but I'm not sure if this is going to solve all the problems.

Now , a lot of us Java guys don't like change (and as if you needed proof, just look at the comments on this O'Reilly blogpost on the Google API's). All the same , we have a problem that gets worse every passing year. 6 Years ago we could have been sure that 90% of web sites were running Internet Explorer 4. Now we've got IE, Firefox, Safari (in all their different versions) as well as an explosion of mobile devices. The Windows Vista launch is only going to fragment things further with yet another platform to support.

No one web solution is going to display the same in all of these browsers. We're not going to get a single solution from Microsoft / Sun / Adobe that everybody from a developer to my Granny is going to install. So we're going to have to take the 'least bad' route - something that looks great, but degrades gracefully to standard HTML on less capable devices. Excuse my ignorance, but I don't know (yet) if Flex does this.

Yes Hybridizing open source Java is the starting point for the solution. Unfortunately we've a long way to go yet, and Flex is perhaps only inspiration along the way.

Yours sincerely

Paul, Technology in Plain English

Update 1 just to be clear, I do have a lot of respect for Bruce and this blog post should be read in that light.

Update 2 The Adobe Apollo project appears to be a continuation of flex. While it has more power, I don't know if it solves the degrade gracefully problem.

. Maybe we'll actually use the MVC design pattern to build more than one interface - a rich client (choose your technology) and a basic one , for use by mobile and older devices.


2007-01-31 06:20:41
I don't understand what you are trying to say here. That you will give Flex a shot? And why should i waste my time to know that? Or do i get you completely wrong here?
Frank Wilhoit
2007-01-31 07:26:44
The whole argument over rich clients is incoherent because there are two different definitions of "rich".

One kind of "rich" refers to graphical whizbang, which is beneath my notice: if you need it, then get it, however you can or must, but do not expect me to take any interest in it, any more than I would your other necessary acts of personal hygeine.

The other kind of rich refers to a blurring of the separation of concerns between presentation and business logic. This is abstractly intolerable. We are all waiting for the application platform or paradigm that will make it painful to cross-contaminate concerns rather than making it painful to properly separate them. But a language won't do that; a metaplatform like JEE or .NET might do it but in practice they haven't; a vendor won't do it unless to jump onto the back bumper of some future standards bandwagon just as it leaves the station. So what is needed is a body of convention with tools to enable compliance with it--i.e., yet another framework, but this time one that places semantic correctness and data integrity foremost, to the sacrifice of all else. The key is strong typing, far stronger than has ever been seen or attempted, stronger than is supported by any processor architecture that I know of.

We should be ashamed of ourselves for even thinking about presentation until we can build systems that have data integrity.

Paul Browne - Technology in plain English
2007-01-31 08:53:03

It was pointed out to me that not everybody would read the humour in the same way , so as the target / subject of the blogpost , thought it would be courtesy to add the final line!


Bruce Eckel
2007-01-31 08:55:13
This confused me: "Update just to be clear, I do have a lot of respect for Bruce and this blog post should be read in that light." As far as I can see, this post is all about intelligent discourse and asking reasonable questions. Thanks for replying.
PS: "Thinking in Java" was pitched to O'Reilly, but they turned it down. I think the reason was something along the lines of "we already have enough Java books like that."
John C. Walker
2007-02-05 06:27:49
Regardless of the particular implementation strategy that will eventually emerge (Java, Flex, or something else), the key observation here is that as we enter 2007, bubbling up from the software engineering trenches is a rebellion against trying to shoehorn web applications into HTML and Javascript.

It's about time!

2007-02-10 04:01:33
No one web solution is going to display the same in all of these browsers.

You can discuss all this to the next ice period. But there is definitely one fact that NO ONE can argue about:

The Flash Platform is the only web-oriented platform out there, that display the same in all of these browsers.

It looks and run like intended.

Greetings from a flash developer (we shouldn't believe that guy)

2007-02-11 06:24:14
How about OpenLaszlo?
2007-02-14 04:57:03
"I'll forgive your flirtations with Python" - I think Java people are conscious that Java technology is going to die or, worst, to end up like Cobol. And many of them are afraid to change language.
For my own experience, switching from Java to Python allowed me to feel again the joy of programming.
Bye bye Java frustrations, i'll not miss you.
Andrew Webster
2008-02-09 02:12:38
You really just sound like another Java idiot, one of the many who think themselves "purists" and religiously cling onto the ever more obese java web frameworks - with the end result of merely pushing strings for another application to interpret them (the browser). While you painfully carry all that dead weight of java EE this or that with you, espousing "Agile" development (curiously, a marketing word created by Java-speak - to compensate for the obese reality), others are getting their rich web applications finished faster and with less expense, the true Agility the likes of you Java fools will never recognize because of your blindness to your so-called purity to OO "principles", etc. We C/C++ programmers and the new scripting kids laugh at you while you boys sit about contorting your silly Java APIs and theories about programming.