Jython Course And Certification
What is Jython?
Jython is the Java Virtual Machine implementation of the Python programming language. Jython was developed to run on the Java platform. A Jython software program can import and use any classes that are in Java. Just as Java, Jython source codes compiles to java bytecode. One of the main benefits of Jython is that a user interface that is designed in Python can make use of GUI elements of AWT, Swing or SWT Package.
The Jython project was started as JPython and later, the name was changed to Jython. It follows closely the standard Python implementation which is known as CPython as developed by Guido Van Rossum who is the developer of Python. Jython was developed in 1997 by Jim Hugunin. Jython 2.0 was later released in 1999. Since then, the Jython 2.x release series corresponds to the equivalent CPython releases. Jython 2.7.0 was released in May 2015, and it corresponds to CPython 2.7. The development of Jython 3.x is currently under progress.
Features of Jython
There are many features of Jython and some of them are:
1. The Jython Registry: Jython runs with a local Jython registry file which is used to provide a platform-independent equivalent to the Windows registry file. It joins this together with environment variable and command-line information at startup.
2. Embedding: With Jython, Java classes can be embedded into Python scripts, and the Python scripts are invoked and inspected from the Java code.
3. Collection and Array support: Jython presents you with many ways to smoothly integrate Java arrays and collections with Python data structures.
4. Compiling to Java class files: The compile all modules that is present in Jython Jython produce Java byte code in Java class files from Python code. It contrarily corresponds to the CPython module of the same name. (Earlier versions make use of a tool that is known as Jythonc which was discarded fully in Jython 2.5).
5. Database interaction: The ZXJDBC module provides you with a Pythonesque interface on top of the Java Database Connectivity API (JDBC).
Benefits of Jython
There are lots of features of Jython and some of them are:
1. Reusability of Java features: The usability of Java classes and interfaces in your python code with Jython is one of the best deals that are available. Also, other features that make Java stand aside from the crowd, such as automatic garbage collection and multithreading, enhance the feature set of Jython even more.
2. Java bytecode compilation: One of the biggest strengths of Java that astonished the programming community when it was first introduced was the concept of the development of bytecode in the form of a *.class file, a sweet piece of undecipherable text is generated for every class and interface that is present inside your Java file. Apart from lending a hand in making the language to be portable across various platforms, it also improves the performance of the applications as well.
3. Easy frame creation: Jython simplifies the process of creating frames.
4. High-Level Language Accessibility: Jython gives you a very nice combination of High-Level Language features and the most popular scripting language. It is also great if you need to implement a quick Graphical User Interface, or if you just need a small piece of code or a method to initiate a query to a database.
Difference between Python and Jython
The listed are the differences between Python and Jython
1. The reference implementation of Python, called CPython, is written in C language. While Jython, is completely written in Java and is a Java Virtual Machine implementation.
2. Standard Python is available on multiple platforms. Jython is available for any platform with a Java Virtual Machine installed on it.
3. Standard Python code compiles to a .pyc file, while the Jython program compiles to a .class file.
4. Python extensions can be written in C language. Extensions for Jython are written in Java.
5. Jython is truly multi-threaded in nature. While Python makes use of the Global Interpreter Lock (GIL) mechanism for the process.
6. Both implementations have different garbage collection mechanisms.