[Oz] Oz vs. Squeak
Peter Van Roy
pvr at info.ucl.ac.be
Tue Jan 30 16:26:16 CET 2001
> Hi again.
>
> While I am at it I thought I should bring up an issue I have been
> thinking about for some time. During the last 2-3 months I have
> been exploring Oz/Mozart and Squeak in parallel (Squeak is a Smalltalk
> implementation, see http://www.squeak.org). I can see strong points and
> weak points with both efforts and would like to hear the reactions from the
> Oz community on the following.
>
> To begin with, Squeak appears to have a massive user community, and
> the creators of the language are very active on the mailing list which
> has up to something like 25 messages per day. At this mailing list
> there are only a few mesages every month. I am certain that a lot of
> activity is going on with Oz at SICS and other places, but as an outsider
> it is difficult to take part in these activities.
Squeak has the advantage that it builds on Smalltalk, which has a long
and famous history. We have an internal developers list with frequent
discussions, often quite animated. Would it be a good idea to fuse this
list with the users list? I ask both the users and developers. What do
you think?
> A related issue is the update frequency of the websites. The Squeak
> site uses a wiki and is updated frequently by many people. The most recent
> entry of the Oz site news page is dated Feb 29, 2000. I visit the Oz site
> quite often, and I have a hard time to detect any updates. Still I have
> heard of for instase Oz-Lite, Oz and Java bindings, and I have seen
> Oz for .Net mentioned on the Mercury webb (if I recall correctly). It would
> be good to have this information first hand, either on this mailing list
> or at the Oz website (or both).
Well, maybe we do not blow our trumpet often enough or loud enough.
The apparent silence is deceptive; we have heated discussions all
the time.
> Squeak has an extremely appealing user interface and development
> environment. To me, who has a background in HCI-research and
> graphical user interfaces, Emacs is not the development environment
> of choise. Also, in Sqeak, since it is Smalltalk, all the graphics and
> all other "library" classes are written in Sqeuak and thus "easy" to
> browse, use and modify. The approach with the Tk graphics module
> feels "closed" by contrast. I would want an Oz programming environment
> similar to Smalltalk/Squeak, written in Oz itself.
You are right, but there are some very nice features anyway in the
development environment:
1. Truly first-class software components, called 'functors'. They
have lots of advantages. For example, they are linked dynamically
by default, giving fast system startup times.
2. An advanced GUI design tool, called QTk. It is now in MOGUL, but
it will become part of the system in some form or another. It
shows the advantages of a mixed declarative/procedural approach.
Try the Prototyper to see what it can do. Personally, it is the
best tool I have seen for GUI design. At least, nothing nearly
as nice exists in the Java world, according to our Java people :-).
> By now some of you may wonder why I don't go ahead and use
> Squeak rather than Oz. The reseaon is that I percieve the computational
> model of Oz as being based on a much more modern approach. The
> use of locgic variables and the concurrency support paired with the
> distributin support feels to me very superieor to what I have seen in
> Smalltalk (where concurrency for instance does not work well, often
> one process has exclusive use of the machine and the system "freezes"
> until it is finished).
>
> To summarise, Squeak seems strong in the areas of community
> support, graphics, its integerated approach and its programming
> environment, while Oz seems much stronger in the support the language
> has for concurrency and networking (I am aware that Oz has interesting
> stuff for constraints etc, but this is not my main area of interests).
>
> What I am asking is if there is any interest in the Oz-community for
> pursuing programming environment and user-interface issues?
> I would love to use Oz for my research (for buildning end-user
> programming tools) but right now I feel that this is not happening.
> Another approach that might interest the readers of this forum,
> could be to add Oz concurrency and networking constructs
> to Squeak. This would certainly requrite a major rewrite of the
> Squeak VM and likley require a new language semantics for
> Smalltak, but it woul be a way to combine the best of two worlds.
>
> Best, Micke
At UCL we are starting to collaborate with Jean Vanderdonckt, a UI
researcher, on UI issues. We have a short paper in the upcoming
EHCI 2001 conference, showing how combining the declarative and
procedural approaches to GUI design can get the best of both worlds
(manipulability of the declarative approach, expressiveness of the
procedural approach). This is the work that underlies the QTk
module. There is a plan to evolve QTk into a generic front end for
more than just Tk, in particular to add an HTML/JavaScript backend
(but you will have to ask Donatien Grolaux for more details).
Peter
-
Please send submissions to users at mozart-oz.org
and administriva mail to users-request at mozart-oz.org.
The Mozart Oz web site is at http://www.mozart-oz.org/.
More information about the mozart-users
mailing list