Archives for October 2003

WebSphere: a rant

I have, in the last few years, been very supportive of IBM, in several ways. I think their approach to Linux and open source in general is quite good from a pragmatic point of view. Their new generation of software is much much better than the old stuff (I had the displeasure of using their old RS/6000 with AIX). I have suggested and helped to implement migrations from Oracle to DB/2. I also see their Service oriented approach as a intelligent move.

But, from a developers perspective its very difficult to like WebSphere. Its heavy, slow, sometimes I even question its reliability.

I also tend to like very tight circles of develop/test/develop/test/… I like to do a small change, call ant (or something similar, depending on the environment that I am supposed to work with) which will do for me a round of automated unit testing. As I am doing this all the time, I need fast deployment times, which is the opposite that I get from WebSphere.

Does anyone has suggestions on improving the deployment time? As I tend to use lots of application servers, I end up not specializing in any, thus I might be failing some obvious optimization step…

WebLogic seems, overall more development frendly. But JBoss is the clear winner on development friendliness (failing on the documentation part).

I am aware that, on production, the parameters of evaluation are very different, but my experience of continuously administrating a application server is very limited and I don’t have the level of maturity to comment on that.

But, going back to IBM, at least Eclipse saves the day.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • connotea
  • DZone
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati

Filed in: Java

by: tiago

No Comments

App Servers performance for development

I am testing quite a few Application Servers and Tools in regards to certain parameters (I will talk about some of these in further posts).
From startup time to deployment time and to memory consumption most of the application servers could be called sometimes a developers nightmare. In some cases going to minutes just to deploy a very simple EJB application (The machine where I am doing this has reasonable specs like 768 MB memory). I know that on a production environment most of these problems are of minimal importance, but when developing they clearly cause a productivity problem.

Regarding deployment times and lightness, of the application servers tested, JBoss is the clear winner, by far, making it the only application server suited for development (when you have tight development/unit test cycles, which is my case).

Some application servers, when used with the IDE from the same vendor tend to a bit (but not much) better (mainly because of programmatic integration of deployment). But is this a good thing? I suppose its better to have a market where different components (like app servers and IDEs) can be plugged at will with the same level of integration, thus increasing competition and choice on the component level. Using the best app server with the best IDE even if that means different vendors.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • connotea
  • DZone
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati

Filed in: Java

by: tiago

No Comments

The failure of declarative languages

Before discussion a few points:

  1. Declarative langauges like Prolog, Lisp, OCaml, Haskell…
  2. I am a strong supporter of declarative languages
  3. I come from a Prolog background, so, some comments might not be 100% suited for the functional programming world
  4. By failure I mean lack of mass usage

I see mainly 3 reasons for the failure of declarative languages:

Unprepared audience

Most programmers have either lack of interest (entered the profession solely for money reasons) or lack of formal training. If for the great majority of programmers a change from C++ to Java is seen as a “great step”, imagine then a change to a language that in practice requires a “mental reboot”.

Academic bias

An example: regarding XSB Prolog, I once asked one of the authors why they didn’t have support for readline on U*ix variants, the answer: “We cannot write a paper on readline support for XSB”. The funnier part is that they use XSB in a commercial environment, yet still, they don’t see any interest in supporting a very simple productivity feature. Of course there are Prologs that are more usage friendly, but still the mentatility in the vast majority of the Prolog community seems to be towards a strong academic bias.
Also, for the most Prologs, a simple production grade database access library seems to be asking for too much. A SOAP connector? Even a simple connector to an existing XML/C parsing library in most Prologs is not to be found…
The functional side seems to be a bit better, but still the situation seems, in most cases, far from good.

Excessive self-confidence

It goes like this: “We are good, we are better the others, so, others (the vast majority), convert and be assimilated. We do nothing to help bridging the 2 sides”. Of course, this approach is doomed to fail. Although I believe that part of the excessive self-confidence can be justified ;-) , this type of strategy leads nowhere.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • connotea
  • DZone
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati

Filed in: declarative programming

by: tiago

No Comments