Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
Some languages (as indicated in the table below), run only on Windows 95 or later, because the ActiveX scripting technology on which they rely is limited to Windows. The rest of the languages run portably on any system that has a Java Virtual Machine (JVM), since they are written in portable Java.
|BML||IBM's Bean Markup Language|
|NetRexx||IBM's Java implementation of the Rexx editor language. Written in Java.|
|PerlScript||ActiveState's Perl scripting environment. Windows only.|
|VBScript||VisualBasic scripting environment. Windows only.|
|Jacl||Java implementation of a large subset of Tcl.|
|JPython||Java implementation of Python.|
|LotusXSL||IBM/Lotus implementation of the XSL language|
In this article, I'll explain why you may want to use BSF in your application, whether you're writing it in a scripting language or in Java. You'll see how to use an existing Java class from a script written in a scripting language. Then, you'll see a Java program that can evaluate scripts written in other languages and can use the results. Finally, I'll explain some of the ways IBM is using BSF in its own products.
I've always found Java's lack of an
eval statement to be a bit disappointing. Of course, I understand the reasons for leaving it out. The JVM is big enough without
building a Java compiler into it, and
eval would add another level of complexity to security control. Besides, a lot of the things I'd like to do with
eval can be done more efficiently, elegantly, and type-safely with class loading. But still, sometimes I just want to be able
to evaluate an expression. Is that too much to ask?
Since I was born and raised on Unix, my head is filled with arcana about various scripting languages I've learned. I've written
a lot of useful scripts over the years, some of them quite complex. (I once wrote a compiler-compiler in Perl. Don't ask.)
I'd love to be able to use my scripts from Java, but doing so by way of
System.runtime() is what I call "3-I": inefficient, inelegant, and icky.