March 16, 2001, 9:41 AM —
"BeanShell is a small, free, embeddable, Java source interpreter with object scripting language features, written in Java...You can use BeanShell interactively for Java experimentation and debugging or as a simple scripting engine for your applications. In short: BeanShell is a dynamically interpreted Java, plus some useful stuff."
That's the introduction on the BeanShell Website; it's an accurate one. Pat Niemeyer, author of Exploring Java, wrote BeanShell, an interactive loosening of Java whose use continues to grow. The Java Development Environment (JDE) for Emacs and XEmacs already includes it, and a couple of other high-profile products will likely name it their embedded scripting language this winter.
Niemeyer recognizes that at this point, "JPython is certainly the best-known scripting language for Java." JPython is the Python variant often mentioned in Regular Expressions. BeanShell fans find Niemeyer's interpreter far more natural, though, simply because it's so close to standard Java. Moreover, Niemeyer claims, "BeanShell is tiny in comparison (about 200 KB) and rapidly becoming just as complete."
After an early phase in which Niemeyer did all the work to establish BeanShell's character, he moved its maintenance to SourceForge. "We can now start taking advantage of some of the hundreds of developers who are on the mailing list in a more direct way," he said. Version 1.1 should be in early beta as you read this.
NQL grows rapidly
Network Query Language (NQL) has emerged from "five years of stealth development" and is growing rapidly, according to chief technologist David Pallmann. NQL Inc., a publicly traded development house, formally released the best of its core technology as the NQL programming language this April. NQL looks like many other Algol-derived languages. It approaches the conciseness of Perl -- not with Perl's rather undisciplined abbreviations and context dependences, but through creative application of a syntactic stack alongside a conventional syntax of keywords and variables. Thus a bare
while implicitly tests the current value on top of the stack. This makes for quite a few handy idioms for common programming constructs.
NQL's advertised virtue is its four large built-in capabilities, available to competing scripting languages only through the use of external modules:
- Intelligent behavior
NQL needs those domains to give its customers the custom development that it has packaged into a standalone language. They combine to make NQL's specialty "intelligent agents" that tackle notoriously thorny development challenges, such as bank-account consolidation.