What is JPython?
JPython is an implementation of the high-level, dynamic, object-oriented language Python
seamlessly integrated with the Java platform and certified as 100%
Pure Java. JPython is freely available for both commercial and non-commercial use and is distributed with source
code. JPython is complementary to Java and is especially suited for the following tasks:
- Embedded scripting - Java programmers can add the JPython libraries to their system to allow end users
to write simple or complicated scripts that add functionality to the application. Since JPython is certified 100% Pure Java, it can be added to an application without fear of
compromising its ability to run on all Java platforms.
- Interactive experimentation - JPython provides an interactive interpreter that can be used to interact
with Java packages or with running Java applications. This allows programmers to experiment and debug any Java
system using JPython.
- Rapid application development - Python programs are typically 2-10X shorter than the equivalent Java
program. This translates directly to increased programmer productivity. The seamless interaction between Python
and Java allows developers to freely mix the two languages both during development and in shipping products.
There are numerous alternative languages
implemented for the Java VM. The following features help to separate JPython from the rest:
- Dynamic compilation to Java bytecodes - leads to highest possible performance without sacrificing interactivity.
- Ability to extend existing Java classes in JPython - allows effective use of abstract classes.
- Optional static compilation - allows creation of applets, servlets, beans, ...
- 100% Pure Java Certification - provides assurance that JPython won't compromise the portability of your
application.
- Bean Properties - make use of Java packages much easier.
- Python Language - combines remarkable power with
very clear syntax. It also supports a full object-oriented programming model which makes it a natural fit for Java's
OO design.