[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