For years IBM has been preaching Java as the next language for development across the IBM suite of products. Still even with the immense focus very few Notes/Domino developers has seemed to lash on to the language. With the introduction of the Hannover client built on top of the Eclipse based Workplace client this will become a real issue in my eyes.
I think that the fenced-in comforts of the Notes/Domino platform have become a sedative for the Notes /Domino developer at large. Too long has the developer community been allowed to seek inwards and focus solely on the proprietary world of LotusScript, @Formula and simple actions to solve the issues at hand. I acknowledge that the @Formula language and simple actions definitely has their place in the Notes product and that these languages really shouldn’t be part of this discussion. My grievances are with the lack of new language adoption and if you live in the IBM World this new language is Java.
I guess very few Notes/Domino developers who doesnt program in Java (regularly or at all) wake up in the mornings and think they are missing out on something and that the consequences of missing out are going to be that big. Im afraid they really are missing out and that it is going to be a big thing. The problem is however, from the standpoint of IBM, that the developers are not the only ones who are really going to suffer from this lack of Java adoption. IBM is going to suffer as well.
Instead of having a Notes/Domino developer community with a basic understanding of the Java language IBM is left with a community where probably as large portion cannot even write a simple Hello World application without the help of a book. In my eyes this is going to be significant since the move to the Hannover client framework will be real big thing for these people due to lack of Java knowledge.
I find this very sad since IBM had the possibility to prevent this from happening. No one could predict the future back in 1999/2000 and knew the direction that the Notes product was taking beyond the 5.x release which was a big thing. No one could predict that IBM would create the Eclipse framework and that most IBM client products would be based upon it.
But here we are, its now 2006 and I guess IBM has known for a few years that the Notes client would be built on top of Eclipse at some point in time. I therefore find it sad that IBM hasnt been more active in driving the adoption of the Java language among Notes/Domino developers during the 6.x releases.
Because IBM is committed to the Notes/Domino product and due to the large population of custom applications out there LotusScript will probably be supported from now to the demise of the platform. Though supported it will be very difficult, if not impossible, to build the kinds of composite, networked applications that will be possible with Hannover using LotusScript. Youll need Java for these kinds of applications. This brings us back to IBM since this fact will be a real Achilles heel when it comes to the adoption and getting the real benefit from the new Hannover client. The success of the Hannover client and the applications possible will rest on getting the customers to use and new features and begin to develop composite applications.
From my point of view I think there are a number of reasons for the lack of adoption. Probably the biggest culprit of the discussion is the perceived simple nature of LotusScript. Leaving Java on version 1.1.8 in the Notes/Domino products throughout the entire Notes 5.x codestream, the lack of proper UI support for Java and the complex and oftentimes impossible to comprehend and poorly documented security managers installed by the Notes/Domino JVM certainly didnt help matters.
I make a point of saying the perceived simplicity of LotusScript since it isnt in my mind an easier language to learn. I would even say that due to the lack of documentation and quality education material available for LotusScript, Java would probably be easier to learn than LotusScript for a new Notes/Developer starting of.
I am of the understanding that the difference between Java and LotusScript is just a matter of syntax. Nothing else. There is no need to completely understand the finer points of object oriented design to be proficient in Java. You can write as much procedural code in Java as you can in LotusScript. Of cause you can do considerably more stuff with LotusScript than Java in Notes/Domino but it need not be LotusScript or Java which is often the case in my experience. It has however become the reality that new developers learn LotusScript and not Java.
There is no need to begin to point fingers but I think it is sad that the state of Java development within the Notes/Domino developer community is what it is. The community at large needs to skill-up and get to grips with Java. Now is a good a time as any to get started – rather sooner than later. The reward will be apparent once Hannover is released.
Request for comments
For those of you who get this far – thank you for reading… 🙂 I would really appreciate your view on this. I’ll be happy to hear that I’m wrong but I am afraid that I am not.