Judoscript


Judoscript is one of several general purpose programming languages designed primarily for scripting on the Java platform. Its originator and primary developer is software engineer James Jianbo Huang.

Overview

Judoscript was one of the first general purpose scripting languages designed specifically for use with the Java platform.

History

James Jianbo Huang originated Judoscript initially as a collection of several separate packages, libraries and Domain specific languages that he originated for use with the Java platform in J2EE Enterprise applications.
Huang designed Judoscript to provide a globally simple and intuitive scripting framework capable of leveraging the full suite of Java packages and third-party extensions to Java. The foundation of this design strategy was to provide an infrastructure: 1) with all the flexibility of a command shell; 2) with full interoperability and access to all facilities of Java; and 3) a simplified syntax that was intuitive to developers who are not necessarily Java programmers.

Language design

Because of the design principles of Judoscript, Huang has stated that it is generally not suitable for Enterprise-scale application development, and is not intended to replace traditional Java syntax. For example, unlike the Beanshell scripting language, Judoscript has many simplifying syntax constructs that is not available within traditional Java syntax. This means that code written for Judoscript cannot be expected to compile in a Java compiler without any changes.
The advantage gained by this trade-off is that Judoscript allows for specialized constructs that are designed specifically for use with a given problem-domain. This obviates the need for "bottom up" programming that is designed from scratch using basic data structures and custom-made algorithms. Admittedly, such "bottom-up" programming is already obviated in large part by the extensive availability of standard and third-party libraries within the Java platform itself. The problem, according to Huang, is that these libraries often assume a higher level of experience with Java programming than is feasible or practical given the development requirements of most scripting applications.

Language features

Example: a simple HTML scraping routine written as a loop:

// print out information found inside HTML
do 'http://www.example.com' as sgml