To whom it may concern.<br>


<br>


My name is Roy Chan and I have applied to the Google Summer of Code. I
am interested in the project about the IDLE for Jython. Below is my
proposal about the tool.<br>


<br>

Swing Based IDLE for Jython<br>


===========================<br>


IDLE is a nice environment for Python, Jython should have something
like that too. There are already a number of exiting environments for
Jython (e.g. wsadmin from IBM for Websphere administation.), but it is
Tcl/Tk based.<br>


<br>


There is 2 ways to make a IDLE for Jython. Either use Java swing to
communicate to existing IDLE(Tcl/Tk) or use Java swing to communicate
to the interpreter. The later one definitely is a better solution, for
it is less over head and it is in pure Java.<br>


<br>


To implement such a environment will make Jython a much easier language to develop and debug.<br>


<br>


Initial idea of the design is to allow user to do the same thing on the
swing GUI as in the IDEL. Command will be fired whenever user hit
enter. Event Linstener will send Jython line to the background and
execute with the Jython class(es).<br>


<br>


Most the IDEL features should be reserved in the swing GUI, such as,
syntax colour, save files. All these can be done easily in Swing.
Debugger would be a challenge, since you have to have to windows
communicate between each others and you need to gather all system
information and display it on the debugger. A easier swing way is to
have the debugger in the same windows and display is side by side with
the command input area.<br>


&nbsp;<br>


Other bonus features can be:<br>


1. Save clean jython code into file (i.e. only save all command that executed successfully)<br>


2. Taking advantage of existing OpneSource IDE(e.g. Netbeans, Eclipse), write the plugin only instead of the whole GUI<br>


3. Config file of the Swing IDEL is portable (e.g. in xml format), make it easier for user to program anytime anywhere.<br>


<br>


Installation Feature<br>


In order to help beginner, the installation should be user friendly.
Ideal installer should detect java installation directoy, provide clear
instructions. Command line one is a must, a swing one is nice to have
(we are using swing anyway). Wizard type of installer like BEA Weblogic
Configuration wizard is a nice and clear one. If time allows the
installer should provide both command line and swing GUI. (e.g. execute
install_jython_idel.sh [-console|-swing])<br>


<br>


If a swing installer exist, it can be called from Java Web Start, which
makes everything even simpler and easier for non-programmer/new
developer<br>


<br>


Please also refer to the link <a href="http://wiki.python.org/moin/JythonProjects" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://wiki.python.org/moin/JythonProjects</a><br>


<br>


My Background<br>


=============<br>


I have just graduated this term and I am still taking courses in University of Toronto to upgrade my degree to H.BSc.<br>


I have been worked at Sun Microsystems of Canada Inc. as a Web
Developer(Intern) then Sr. Web Developer(Intern) in 2003 to 2004. It
gives me not only the technical skill but also experience in working as
a team and communicate with other team member clearly over the world.<br>


I have extensive experience in Java and Shell scripting. I started
learning Python/Jython last year and I really like it for it is simple
and easy to use.<br>


<br>


Please consider my application and feel free to contact me at (<a href="mailto:email2roy@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">email2roy@gmail.com</a>) to discuss about my application.
<br>


<br>


Thanks!!<br>


<br>


Yours Sincerely,<br>


Roy Chan<br>


<br>


(This project description has been submitted to the Google Summer of Code)