[Python-Dev] Ph.D. dissertation ideas? (original) (raw)

Steve Holden steve at holdenweb.com
Fri Jan 13 04:40:34 CET 2006


Brett Cannon wrote:

On 1/12/06, Bill Janssen <janssen at parc.com> wrote:

Brett,

How about building a system that compiles a Python program (possibly annotated) to an AJAX program? That is, it analyzes the program to determine what's appropriate and possible for client-side and server-side, figures out the optimal network API (reduce latency, reduce calls, reduce data transfer, increase responsiveness), generates server-side Jython to run in Tomcat (or Python for modpython), and client-side XHTML, CSS, and Javascript to implement the browser-based portion of the application. Oddities of browser implementations and Javascript VMs would be contained in the compiler and automatically pushed into the generated code. This would be a tremendously useful advance in building distributed systems that work with the Web. The current approach to AJAX is a bit like carpentry with old hand tools. You'd probably also push Python to higher levels of language-ness.

Hmm. It's an idea. I also thought of Python -> JavaScript compiler since JavaScript is not fun and getting to test using Python might be cool. But not sure how useful that would be. Plus I bet someone has does this with Java or something. If you can persuade your supervisor to be interested in educational games, a Python learning system might be an interesting project with lots of scope for user modelling and goal-directed behaviour.

There's been some work done on bomb-proofing the interpreter to offer a "try-python" type site, but nobody seems to have thought about how to engage a neophyte with an specific teaching strategy (possibly based on personality analysis) and then present problems to verify comprehension and offer appropriate feedback.

That would be a terrific game!

regards Steve

Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC www.holdenweb.com PyCon TX 2006 www.python.org/pycon/



More information about the Python-Dev mailing list