Jecel Assumpcao Jr wrote:
Dear Jecel!

On Friday 05 March 2004 19:45, Albertina Lourenci wrote:
> Jecel Assumpcao Jr wrote:
> > This is one of the main issues I am addressing in Neo Smalltalk.
> > Note that unifying the two environments greatly simplified the
> > language itself - there is no need for a syntax for literal objects
> > if you have graphical ones (even for strings and numbers).
> I miss the point here. Semiotically speaking there may be
> different forms for the same content. What's the problem
> with this?
The problem is that there are two contexts, with some forms used in one
and others used in the other. That makes programming more awkward than
it should be.
Is the main difference between syntax for  literal and graphical objects that the latter is
When you are in the textual programming context and you need to refer to
an object, you can:

 1) just use the literal syntax of the language to describe it, if it is
one of the few kinds of objects for which that is available - 23,
'hello world', [|:i| i + 1], (| answer <- 7 |)

 2) create the object by sending a message to a literal, if that is
relatively simple and fast for this kind of object - 4@7, ('a' & 'e' &
'i') asSet

 3) create the object in some initialization code and store it in a
variable which other code can "see" - look at the methods which create
the little buttons for the outliners for an example

Besides these traditional options, in Self we can also:

 4) create the object using any tools provided by the system, call up
its outliner from the blue menu, create a slot pointing to () or 0 or
anything like that in the object you are writing the method for, drag
the arrow from the new slot to point to the outliner. Now you can
reference the slot name in the method.

This is the first real step of allowing me to use the graphical
representation from the textual programming context. A fine first step,
but what things can't we do even now?

 5) put any object in the middle of some code, not just the few literal

 6) name the objects in the graphical context (see Visual Basic) and use
these names in the method text

Having all this would make programming far nicer, in my opinion.

> For me the problem is when there is no correspondence
> between the two different forms. This is exactly what happens
> when one tries to map domain model and architecture into
> programming languages.

There is always a correspondence between any forms, but often it isn't
very convenient. For us, I mean - the computer doesn't care since
everything is just bits to it.

> Indeed in the levels of the natural
> language there is no such isomorphism because each level
> plays a different role. However there are some structures
> that might be isomorphic or that are traceable (I think
> I make this neat in my paper and presentation  for ROOTS'02 (Bergen
> Norway) from my homepage.

I didn't find any examples in the presentation, only explanations of
several different philosophical theories.

I put forward clearly in my papers that the software architecture
is the place of discourse and communication.
The place of a collaborative architecture.Of course it matters
if this is bidimensional or tridimensional.
If it is bidimensional one cannot see the stakeholders in
three dimensions.
However I realize one can trace perfectly well the three-dimension
into the banners in bidimensional collaborative software architecture
like in Kansas.
Of course if one adds contextual information in the three dimensional
architecture there is no real traceability between bi and three-dimensional.
The three dimensional collaborative architecture is not isomorphic
to the bidimensional architecture.

This is a far cry from the domain model. Traceability is achieved
of course because necessarily the components of the domain
model are part of the software architecture and of course
they must be implemented.
I mean each level has a different nature and I explain this
clearly for natural language.
Many thanks for your detailed explanation above however
it is not clear if  syntax for literal and graphical objects are

Best wishes


-- Jecel

Yahoo! Groups Links

<*> To visit your group on the web, go to:

<*> To unsubscribe from this group, send an email to:

<*> Your use of Yahoo! Groups is subject to: