The Weekly Juan #4: "Smalltalk, Direct Manipulation and End User Programming"

Jecel Assumpcao Jr jecel at merlintec.com
Fri Nov 10 20:08:33 UTC 2006


Juan Vuletich wrote on Wed, 08 Nov 2006 21:55:22 -0300
> Wow! I added this text to the article. I hope you don't mind. If you do, 
> I'll remove it.

Please free feel to use it - that was the purpose of me posting this
here. Speaking of the motives behind the various Squeak GUIs, Offray
Vladimir Luna Cárdenas mentioned today on #squeak this interview with
Andreas Raab about Tweak that is very worth reading:

http://squeak.pbwiki.com/interview

> My idea was to be objective. Clearly that phrase was completely 
> subjective. Thanks for pointing it out. I removed it.

You can be subjective in your own pages if you like. I was just very
curious since my own Neo Smalltalk design is even more extreme than Self
and it would be nice to know what problems people have with this kind of
system.

> Well, I don't know many Self programmers. In addition to John's opinion 
> (crucial for me), I have a good friend who worked a couple of years on 
> an application written in NewtonScript.

Note that NewtonScript is a cross-development system, which makes it
feel very different from a native development environment independently
of any other of its features. Just try something like PocketSmalltalk or
Resilient to see what I meant.

> He felt the same as John: the 
> browser is a great way to organize code.

I agree. But to repeat what I said before, as we move to a more modular
and open system we will lose Squeak's "show me everything" features. The
system browser will only show you want you happen to have loaded in this
particular image, not something that is on SqueakMap; sending
#allInstances doesn't let you see stuff that might live in some project
you haven't loaded yet and so on. This future can't be avoided and it
would be a good idea for our tools to adapt to this new reality.

> Besides, code based development 
> (i.e. not relying on the assembly of objects in a certain image) eases 
> team work and version tracking.

Here I must strongly disagree. Back in 1997 I had two trainees working
for me and doing some simple Self programming. Given that you can open
more than one window on the same Self world and the cross computer
features of the X Window system, they would sit at two different
workstations on the same room (but with voice chat they could have been
very far away with the same effect) and engaged in very intense pair
programming (a bit different from how the Agile folks do it). Unless you
had seen it yourself it is hard for you imagine how much fun this was
and how productive they were (not counting crashes - the system should
have been a bit more robust). All this using live objects.

Sure, this is a total pain if you depend on CVS. But this is like saying
Mac text files are totally useless just because you have to edit them
with Notepad.exe. Don't confuse the limitations of your current tools
with inherent limitations of a certain style of development.

> Now I have a third opinion: yours. You don't agree with them, so today I 
> would say "Some programmers believe...". Anyway, as I said above, I took 
> it off. This article is not about my opinion.

I am always willing to change my mind, and so like to know why people
don't agree with me. Sometimes they know something that I don't, though
often it is the other way around (somebody who thinks static typing is
better than dynamic, for example, but has only programmed in C++ and
Java). See the comment about image based environments at the end of
http://en.wikipedia.org/wiki/Self_computer_language to see what I mean.

Anyway this is all just a very tiny detail and your article was very
good even with that comment.

-- Jecel



More information about the Squeak-dev mailing list