So I know what you’re thinking. Why Python and Scheme? Well, originally, Dr. Rebelsky chose Scheme because Grinnell uses it for the introductory Computer Science classes and because of its elegance, beauty, and support for higher-order programming. However, Scheme is not a particularly popular programming language. In fact, one of the reasons Scheme is used as the introductory language is to try and ensure everyone entering the class knows just about the same amount of syntax.
To better promote the notion of interactive application scripting, and to understand how IAS relates to the language domain, we will explore the development of an IAS interface for Python in the GIMP. The way we see it, learning the language is one of the biggest barriers to entry for IAS. Since Python is one of the two most popular scripting languages, we hope that by adding a Python interpreter we can vastly increase the IAS potential user pool. In addition, Python’s simple structure and style make it not only very easy to learn, but also fun to work with, which means new users will find it much easier to start scripting interactively. Python is also multi-paradigm — providing deeper support for object-oriented programming than does Scheme, thus allowing future research teams and designers to explore the applicability of the object-oriented model to interactive application scripting.
Currently, our version of the GIMP allows basic scripting in both Python and Scheme with the standard Python extension and the Scheme interpreter written by Dr. Rebelsky and his past research students. While the MediaScript extension has added a vast amount of functionality for Scheme, the current Python add-on is not nearly as well adapted. Therefore, we plan on adding Python to the current MediaScript extension and extending Python’s application library to further expand its user base.