[antlr-interest] philosophy about translation

Kay Roepke kroepke at classdump.org
Wed Oct 25 07:17:07 PDT 2006


On 25. Oct 2006, at 13:57 , Anthony W. Youngman wrote:

> As a result, the majority of tools on the market are "average"  
> tools, aimed at the "average" programmer, and the product suffers  
> accordingly. Look at the mass of IDEs available now - I *hate*  
> them. I think verbally and an IDE gets in the way. But the majority  
> of people think visually - that's why Windows is such a hit. But  
> because they think visually, they can't think in abstract terms,  
> and they can't do anything beyond basic problem solving. (As an  
> aside, my University foray into childhood development said that  
> kids start progressing beyond this stage at about the age of 14,  
> and that modern thought says that maybe HALF the population NEVER  
> get beyond it.)

In my opinion, visualization is a very important tool, even if you  
have the ability to "think verbally". Being able to solve problems  
use abstract terms is a powerful one, but the ability of pictograms  
and diagrams to convey important information about structure is very  
important, too, if for the lone reason that it seems to be more  
natural to humans. The fact that children do things primarily in a  
visual way indicates (IMHO) that building upon that concept increases  
your productivity if it is done right.

I agree with you that once it is the only method of working it gets  
in the way quick and hinders your ability to facilitate your ability  
to work in abstract terms (which BTW a diagram is, too.  
Philosophically every expressed notion needs to be abstract, or it  
couldn't be expressed at all, but that's academic ;)). Thus the goal  
can only be to combine the two approaches by making them tightly  
integrated. I see a high value in systems that let you write programs  
in a visual manner, but everything I have seen stop there and do not  
even make an attempt in unification.

To briefly return to the topic ;), if you are doing source-to-source  
translation, I would love to see a product that let's me see the  
effect of one certain rule not only by the grammatical structure of  
the (ENBF-)rules that drive it, but also by some form of  
visualization that let me see the big "picture" without having to  
simulate the parser/translator in my head. I am convinced that a  
visual representation of this process would speed up my work  
tremendously. The mere fact that I always draw diagrams to understand  
algorithms (and, of course, also the use of diagrams used in books  
and reports to illustrate the working of a certain algorithm) is a  
tribute to the fact that "thinking visually" comes more natural to a  
human than only having the abstract terms.
For bonus, this product would not only visualize its own effect but  
also allow me to create new rules partially using visual techniques  
in addition to text based input (which is often seen as the abstract  
approach, because you need to literally spell out the abstractions).  
In my opinion, both differ simply in the form of representation but  
not in the use of abstract terms. To create something always requires  
abstraction if the outcome is to be considered high quality.

I'm not sure what exactly you mean by IDE, but I have the impression  
you are referring to what has been called "4G development tools"  
rather than the simply integrated development environments that  
integrate editors, compilers, and debuggers to minimize the time lost  
switching between these tools.

cheers,

-k





More information about the antlr-interest mailing list