Sun releases scripting technology for Java
Jacl promises more power for Java
If you haven't heard of Jacl or Tcl Blend, don't be surprised. It was announced in a rather low-key e-mail to interested developers last Wednesday. In that e-mail, SunScript team leader Raymond Johnson called the technology, "early fruits of a new project at Sun Laboratories to integrate the Tcl and Java programming languages in a way that brings more power to each language."
A plethora of technologies -- CORBA, JavaBeans, DCOM, XML, PowerBuilder, visual programming, object orientation, and others -- already promise to assemble Java pieces easily. Why introduce more? The goal of SunScript (articulated by the team as "script once, run everywhere") is to realize John Ousterhout's vision of scripting as "programming for the 21st Century." Ousterhout, the original author of Tcl in 1988, is currently the project leader of SunScript.
Taking Java development to a higher level
Java has certainly revolutionized marketing and litigation. Development models for Java programmers, however, have settled into familiar patterns. Leading vendors often "re-purpose" existing utilities first targeted for Pascal, Smalltalk, or C. Application teams most often aspire to a kind of incrementalism that yields conventional-looking applications. Java makes the process a bit safer and more portable.
Ousterhout's flavor of scripting touches a higher paradigm. "The second wave of Webmasters -- they're not the hard-core developers -- already use Perl, Frontier, and Hypercard," explained Johnson, in an interview. More and more developers are ready for a "high-level," easily understood language which lends itself to prototyping and rapid development. Just as Visual Basic exploded because of its success reusing OCX components, SunScript is on a mission to permit programmers to assemble Java-coded components. Jacl and Tcl Blend deliver that ease in scripting with higher-level functionality no other language possesses.
The higher-level functionality of Jacl can be seen in comparing it to other Java development offerings. VBScript, for example, offers both client and server aspects of scripting; Jacl, though, is transparently mobile across all boundaries between client, server, and middleware hosts. JavaBeans present another example of a Tcl advantage. While JavaBeans package Java functionality for reuse, TclBlend uses reflexivity to reach directly into existing Java objects *at runtime* -- there's no packaging required. With Wednesday's announcement, SunScript reinforces its claim that nothing links Java better than Jacl and Tcl Blend.
Scripting allows programmatic control of the user interface. That's important because it allows the interface to be intelligent.
For instance, let's look at dragging-and-dropping visual components on a palette. As effective as it has been in the marketplace, this approach fundamentally limits developers to a static, "unresponsive" user interface. Or so believes Brian Kernighan, noted technical author of Bell Laboratories. The best user interfaces are those which adapt to the knowledge and actions of their users. Scripted interfaces can be "very dynamic, very user-oriented," said Kernighan at his July 1997 Tcl Workshop keynote in Boston.
Suppose you agree scripting Java objects is a uniquely effective way to work through important steps of a development process. The question remains: Why choose Tcl as your scripting language?
Answering that is SunScript's real purpose in this week's announcement. It's first argument for Tcl is that it's reliable. The several thousand commercial applications which depend on Tcl daily attest to its maturity. Second, it exploits the full potential of the scripting approach because of the ease with which it's possible to move pieces of functionality into Tcl -- and back out again.
The bet SunScript is making is on a kind of race. Can Jacl and Tcl Blend hold their technological lead long enough to elevate their profile to mainstream status? Or will they only be remembered as a clever tangent that lost in a race as the dominant existing scripting languages rushed to catch up? As 1997 closes, Jacl and Tcl Blend offer more complete "scriptability" for Java than any other competitor. The question is, do enough developers really want that power today? It's clear where Johnson's group is putting its money.
You can make a different, more careful bet -- one that works for you. Visit the SunScript site and decide which demonstration of Java scripting corresponds to a problem you currently face. Download the alpha software and launch a pilot project. In the worst case you like the results, but the market at large swings to a scripting language other than what you've chosen. That's a small risk. It just means you might need to rewrap your application some day. At best, you're one of the first to become an expert at "programming for the 21st Century."
About the author
Cameron Laird and Kathryn Soraiz manage their software consultancy, Network Engineered Solutions, from just outside Houston, TX. Reach Cameron at firstname.lastname@example.org.
If you have technical problems with this magazine, contact email@example.com