• The Jython Programming Language: An Interview with Frank Wierzbicki

The Jython Programming Language: An Exclusive Interview with Frank Wierzbicki

The Jython programming language is an implementation of Python for the Java platform that allows for powerful integration between both platforms, making use of the simplicity and of Python and the power and extensibility of Java.

Many large commercial enterprise software implementations such as Oracle WebLogic, BMC BladeLogic, IBM Websphere, VMware, and other implementations are using the Jython programming language for their management API’s. Jython makes for an excellent platform API because of it’s simplicity of use and cross-compatibility with enterprise Java applications, and is quietly coming up in the ranks of adoption for widespread adoption.

Jython was created by Jim Hugunin and the Jython.org project is now headed up by Frank Wierzbicki of Sun Microsystems. Frank Wierzbicki discusses his experience with Jython and it’s growth here in The Bitsource exclusive interview.

Frank Wierzbicki on the Jython Programming Lanuage

Q: What is your background in programming?

Frank Wierzbicki: I have loved computers from the moment I started playing around my dad’s Commodore 64 in the early 80′s. I went to grad school to study Neuroscience in the mid 90′s where I worked on equipment that measured the electrical signals from a laboratory preparation of neurons. It turns out that I liked fiddling with the programs that did the data acquisition and analysis way more than I liked the day to day work of science. So I moved into industry without completing my PhD and became a professional programmer.

Q: How did you get involved in Jython development?

Frank Wierzbicki: I’ve been a big fan of Python since the late 90′s when I decided that I liked it better than Perl for writing little programs for personal productivity. Around the same time that I discovered Python, I went from working in C and C++ to primarily working in Java. I was happy to discover Jython, which let me write personal tools against my Java code for testing and trying out ideas.

I started contributing code to the Jython project in 2004, when Brian Zimmer was the project lead. Some things changed in Brian’s life leaving him without enough time to be the lead, so he passed the lead
role to me, as I was the biggest code contributor at the time.

Q: What is the current adoption of Jython? Is it growing and by how much?

Frank Wierzbicki: It’s hard to measure adoption of Jython in any real way, since there are so many ways to get it. I do know from giving talks at various Python conventions that the Python community is very interested in Jython. I see more traffic on our mailing lists than I used to see, and our IRC node #jython has grown from about 10 regular participants to about 30. If you look at the charts you can get from indeed.com http://www.indeed.com/jobtrends?q=jython&l= you can see a very nice upward trend in job listings for Jython.

Q: What are the most commonly used applications of Jython?

Frank Wierzbicki: Jython is used heavily in QA tools and in server management scripting. From the stories I am hearing, it is also making some gains in the web application area where someone wants Django or Pylons apps deployed as a Java war file.

Q: Jython is being used heavily in commercial enterprise software for it’s management API’s, for example Oracle WebLogic, BMC BladeLogic, and VMWare Virtual Infrastructure. Why is Jython a language of preference for providing management API’s?

Frank Wierzbicki: One of Jython’s biggest strengths is that it is easy for people who are not professional programmers to read and write the code. Since most administrators have a large number of tasks, most of which do not involve programming, it is important that the programming language be very easy to pick up, even after some time away. I know this is the reason that I picked up Python long ago: Python and Jython are very easy to pick back up, but when your application starts to grow, more sophisticated features of Jython can come into play for managing
larger programs.

Q: Why not use pure Python or pure Java for an application, what advantage is there to using a hybrid of both?

Frank Wierzbicki: Jython’s integration with Java is very clean. You can treat Java APIs as if they where native to Python when you use them from Jython. Calling Java from CPython generally involves using RPC style APIs or other bridge style APIs, so that it does not feel native.

Q: What can we expect Jython to support in the future?

Frank Wierzbicki: More and more pure Python apps will work without change, Java integration will improve, and we will be spending some time improving the performance of Jython. We are taking a hard look at how Jython can be used in situations that demand high concurrency to make sure that Jython works well in theses tasks. JDK 7 will come with many features from the Da Vinci Machine project that we can use to vastly improve Jython’s performance. Note that Jython already performs
almost as well as Python for most tasks, and out performs Python in a handful of tasks.

Q: Do you envision full-scale Web applications being developed in Jython?

Frank Wierzbicki : I have been told that this is already happening. There are Pylons and Django applications being written and deployed as Jython code in war files.

Q: What is the most difficult thing about learning Jython for a pure Java developer?

Frank Wierzbicki: The language is pretty easy to pick up. I would say that there are aspects of the programming environment that may be somewhat difficult at first. For example Jython has its own infrastructure for installing external programs with distutils, setuptools and eggs (a bit like jars in Java) that can take some time to learn to use effectively.

Q: What is the most difficult thing about learning Jython for a pure Python developer?

Frank Wierzbicki: Pure Python developers tend to stumble on issues with the Java classpath. It is fairly similar in concept to the PYTHONPATH, but has enough of its own quirkiness to cause some trouble.

Q: What resources do you suggest to developers getting started in Jython programming?

Frank Wierzbicki: Any tutorials that target the 2.x series for Python programming will largely apply to Jython. Jython is a full implementation of Python, and so most programs written in pure Python should run on Jython. One great example is Dive into Python by Mark Pilgrim (see: http://diveintopython.org) We (the Jython developers) are working on a new book with Apress that will specifically cover modern Jython, to see the beta book go to: http://jythonbook.com. Of course there is also the Jython wiki http://wiki.python.org/jython and the Jython website: http://jython.org.

Q: Why would someone want to get involved in contributing to the Jython project?

Frank Wierzbicki: There are about eight regular contributors to Jython these days. Thecore developers are a pretty friendly bunch, and easy to interactwith. We are a medium sized project with plenty of room to grow. We have some room for improvement in getting contributed patches evaluated and applied, but I intend to make the process easier in the coming year. Also, working on Jython is fun!

Q: What are the currently most needed features in Jython that is in the works?

Frank Wierzbicki: While our integration with Java is great when you are calling Java APIs from Jython, we where unable to port our main tool for calling Jython APIs to Java for Jython 2.5. There are several projects in the works to make the Java->Jython calling conventions easier to manage.

We also plan to get a 2.6 and 3.x version going (Jython numbering is based on the version of CPython we are emulating).

Q: How can developers get involved in the Jython project?

Frank Wierzbicki: There are many ways to get involved with the Jython project. The easiest way to contribute is to try Jython out and report any bugs you find to http://bugs.jython.org. If you can come up with a patch that fixes a bug, adds a missing test or adds a missing feature from CPython you can upload patches to the same place (http://bugs.jython.org). The developer guide in the wiki is the best current documentation, though some of it is outdated. Of course, joining the jython-users or jython-dev mailing lists here http://sourceforge.net/mail/?group_id=12867 or our IRC channel #jython at irc.freenode.net are good ways to contact us.


Frank Wierzbicki is co-authoring a book called “The Definitive Guide to Jython: Python for the Java Platform”, published by Apress, which should be available soon at http://developers.apress.com/book/view/9781430225270. The beta version of The Definitive Guide to Jython available at http://jythonbook.com.

Further Reading:

To get started installing and programming Jython, follow this simple tutorial: http://wiki.python.org/jython/InstallationInstructions.

For those interested in getting involved in contributing to the Jython project, see http://wiki.python.org/jython/JythonDeveloperGuide.

The Story of Jython: http://hugunin.net/story_of_jython.html

The Jython Programming Lanuage: http://www.jython.org/

The Python Programming Language: http://www.python.org/

Share and Enjoy:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • E-mail this story to a friend!
  • FriendFeed
  • HackerNews
  • LinkedIn
  • Reddit
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Technorati
  • Twitter
  • FSDaily
  • Ping.fm

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

  1. Tweets that mention The Jython Programming Language: An Interview with Frank Wierzbicki » The Bitsource®: Technology's Premier Source of Information -- Topsy.com Says:

    [...] This post was mentioned on Twitter by msacks. msacks said: Retweeting @thebitsource: The #Jython Programming Language: An Interview with Frank Wierzbicki http://bit.ly/11DCUN [...]

Leave a Reply

You must be logged in to post a comment.