Another idea for GUI/IDE change ... different languages

VA Smalltalk is a "100% VisualAge compatible" IDE that includes the original VisualAge technology and the popular VA Assist and WidgetKit add-ons.

Moderators: Eric Clayberg, wembley, tc, Diane Engles, solveig

Another idea for GUI/IDE change ... different languages

Postby marten » Tue Apr 12, 2011 10:14 am

I would like to be able to edit source code in different programming languages within the Smalltalk IDE - but the code should be under ENVY control - I think of CSS, HTML, Javascript and other code ...

To get the stuff done I thought, that the source code (of a different language) is offered without Smalltalk coloring - but a simply text editor (more would be better ...).

To manage this code in a Smalltalk like way, I would assume the following workflow. Normally I work with Smalltalk source code and nothing has to be done - a "New method template" does its work.

But if I execute - as an example - "New javascript method template" I get a different code sequence:

Code: Select all
  <type: json cp: utf8 extension: js> 

Now the user enters its code and when he wants to save the stuff, the IDE parses "nameOfFile" and the pragma stuff and the rest of the text editor is seen as source code of the wanted language. Now the IDE creates a Smalltalk method, which has the name mentioned above, the pragma - and the rest of the source code is embedded within a Smalltalk string and the method returns this string.

In case of a bitmap or icon I could think about a small icon editor coming up within the area of the text widget.

All these "different" language resources should be entered on a class side of a class.
Marten Feldtmann, Principal Smalltalk User, Private
SkypeMe callto://marten.feldtmann
Posts: 641
Joined: Sat Oct 14, 2006 7:10 am
Location: Hamburg - Germany

Re: Another idea for GUI/IDE change ... different languages

Postby koschate » Tue Apr 12, 2011 11:35 am

One wonders how much of this work was done to support the various "VisualAge for xxx" offerings in IBM's past.
Posts: 102
Joined: Thu Feb 01, 2007 7:24 am

Re: Another idea for GUI/IDE change ... different languages

Postby wembley » Thu Apr 14, 2011 6:51 am

Once upon a time, long long ago, there was a C Development add-on for VisualAge Smalltalk. It parsed a C source file and turned the functions into pseudo-methods so the existing Smalltalk browsers continued to work. It could combine all the parts and reproduce the original file when needed. This support is still used to manage the C code for the Smalltalk VM. I don;t know how good the parsing was since I don't use that part of the code and the documentation is a little sparse :shock:

I suspect this is the same (or similar) technology used for the other "VisualAge for xxx" products (other than VA Java which was more tightly integrated), although I don't know for sure since I've never seen the code for them.

One problem with using ENVY to manage non-Smalltalk stuff is that the size of the manager will increase very rapidly since each changed "method" is stored in its entirety (ENVY knows how to compress Smalltalk source). Also, unless using the techniques of the C Development add-on, there are no tools for diff-ing, etc.

I don't know how good an idea adding this kind of support would be, but I certainly am interested in continuing the discussion of what capabilities would seem to be useful.
John O'Keefe [|], Principal Smalltalk Architect, Instantiations Inc.
Posts: 405
Joined: Mon Oct 16, 2006 3:01 am
Location: Durham, NC

Re: Another idea for GUI/IDE change ... different languages

Postby koschate » Thu Apr 14, 2011 7:48 am

It's sounding like there's three projects here. The first is finding a way of efficiently storing versions of text files within ENVY. This has potential benefits for customers that would like to store all their project assets in one place. This probably requires access to ENVY internals that mere mortals don't have. The second project is building a language-aware editor possibly a complementary code browser in Smalltalk - sounds like a good project for the European grad student group. The third project is figuring out how to use the fruits of the first project to support the second project.
Posts: 102
Joined: Thu Feb 01, 2007 7:24 am

Return to VA Smalltalk 7.0, 7.5 & 8.0

Who is online

Users browsing this forum: No registered users and 1 guest