Smalltalk-to-Javascript IDE

Mentor: Panu Viljamaa
Second mentor:
Level: Advanced
Invited students:
Students interested: Armando Perico(very), Carla Griggio, Joel Kitching, Mirko Kiefer(lightly)

Smalltalk has a superior IDE for object-oriented, class-based programming. The fact that you can
easily see your classes and their relationships in the ST browser is what makes you "Think in OO
without trying".

There are many ways to do OO in Javascript, the dominant language of the web. The problem is
there is no good object-oriented IDEs for doing that, that would automatically ensure your
javascript is automatically class-based OO.

Because Smalltalk IDE can be programmed in Smalltalk, it should be easy to modify it and its compiler so that instead of just compiling Smalltalk classes into the Smalltalk VM, we would also be producing an equivalent, executable JavaScript program as a side-effect.

In the end you will have:

  1. A superior IDE for OO-based javascript programming which would make all of your javascript "naturally" object-oriented (without having to think about it). The IDE would allow you to browse callers, implementors, subclasses etc.
  2. A way to program Javascript in Smalltalk, and have your (Smalltalk!) program run on all web-browsers or server-based javascript environments.
  3. In the case it proves too difficult to translate Smalltalk to Javascript (as described above), the IDE could still serve as a browsing tool (senders, implementors etc.) for javascript created in it, then stored into external files, which can then be run and debugged in a web-browser.
    Just the fact that the ST IDE would take care of creating the OO-framework around the individual javascript methods you assign in the ST IDE to classes and subclasses would  be a great productivity aid for any Javascript programmer .

Updated: 22.3.2010