Robert Bill's Jython for Java Programmers from New Riders is an essential introduction to the complexities of the merger between two popular object-oriented languages, Python and Java. It is directed toward Java programmers who want to incorporate Python rather than vice versa, but the utter symmetry of merging two object-oriented languages creates an Escheresque problem in perspective. It is like two snakes gobbling each other up.
Let's sort this out historically. When Sun Microsystems' virtual machine (VM) paradigm emerged in the mid-1990s, the high-level programming language Java became the idiom for the new "soft" computer. Java's object-oriented architecture allowed it to scope from the lowest-level OS tasks (reads, writes to disk and screen), but much of the mid- and high-level tools were missing - e. g., common GUI features, text parsing, list sorting. The missing functionality is implemented gradually with nuts-and-bolts Java functions and by porting libraries to Java (GL4Java).
The cascade of "100 percent pure Java" ports has finally led to the gobbling up of the elegant Python scripting language, which is also object-oriented. But that is only half of the story. As Java devours Python, Python also devours Java. In one manifestation, Jython is Python written in Java rather than C. It has its own interpreter "jython" and compiler "jythonc," both of which can draw on all of Java's classes. Conversely, jythonc will create a Java class which can be imported by the Java interpreter "java" and compiler "javac." Java programmers will have the luxury of importing and using succinct Jython classes rather than writing the lines of verbose native Java code.
The bewildering complexities are elucidated by Bill in Jython for Java Programmers, which presents Jython both as a standalone, Java-equipped language and as the class implementation within Java. Its three parts are dedicated to Jython's basics (very similar to a Python tutorial), Jython's internals, and Jython's incorporation into GUI, database, and Web applications. The book follows in the New Riders tradition of exhaustive, implementation-centered publishing. Jython is not a Java foundation class, but Bill's book is a cornerstone in its own right. We also recommend Jython.org to help sort out Jython's big picture.
|