Bob Balaban's Blog


    Bob Balaban


    LotusScript or Java in Notes/Domino? What do YOU use?

    Bob Balaban  September 7 2008 06:52:48 AM
    Greetings, Geeks!

    As many of you already know, I had something to do with getting LotusScript (the language) and the Notes object model interface for LotusScript (the "back-end classes" and the LSX architecture) into Notes version 4.0, released in January, 1996. I've been a big supporter of that technology ever since, and I still am. I like it that there's a relatively simple, "scripting" type interface to the power of the product. I like that it's usable for server-only programs (primarily via agents and Web Serivices), and it's also available for "front-end" programming.

    I also had something to do with adding the Java version of the back-end classes to Notes/Domino release 4.6 (September, 1997). Java as a language offers some capabilities that LotusScript doesn't have (e.g., multi-threading, network access...), although Java has never been quite a tightly integrated into the product as LotusScript is (no Java front-end classes, for example, plus the need to worry about "recycling" objects).

    I've been thinking about the future of programmability in Notes and Domino for a while. I wrote this post on how JavaScript was likely to play a bigger role. Of course, moving the Notes Client onto an Eclipse foundation is likely to have a big impact -- Java interfaces to all sorts of Eclipse-based functionality becomes easy to add to the product. And, since it's easy to make JavaScript talk to Java, and since JavaScript is a real "scripting" language (whereas Java, I claim, is not), the role of both will inevitably become much more important to Notes application developers (assuming IBM continue to develop and support the functionality, and I have no reason to think they won't).

    So, where does that leave LotusScript? Clearly, they can't take it away; by now it's too ingrained, and too many people have working code in production. Removing it would be a disaster. There was talk at one time of cross-compiling LotusScript byte code (what you get when you compile LS source code) to Java byte code. Some research was done on that, but it didn't pan out, there were too many mis-matches.

    So, LotusScript is not dead yet. But it seems equally obvious that Java-only capabilities will continue to be added to the product (XPages is one new example). And, while interoperability between Java and LotusScript will not be completely absent, I predict that it won't be a major feature of N/D programmability in the future. LS2J never really took off, and aside from running LS Agents, XPages has very little in the way of integration with LotusScript.

    So, dear Geeks, I want to know what you think! Please comment on/discuss the following (or whatever else seems relevant to you):

       - Do you agree with my analysis? Are Java and JavaScript the wave of the future for N/D?
       - If you are currently a LotusScript developer, how do you feel about learning Java?
       - Does the Eclipse plug-in model open up new business opportunities for ISVs? If not, why not?

    Feedback welcome!

    Update Monday 8 Sept:

    Hey Geekdom, I've never done this before, but thought y'all ought to take a look over at Nathan Freeman's blog. He did some interesting code archeology on the new Notes 8.5 Beta 2. Very relevant to this topic!

    (Need expert application development architecture/coding help? Contact me at: bbalaban,
    This article ┬ęCopyright 2009 by Looseleaf Software LLC, all rights reserved. You may link to this page, but may not copy without prior approval.