squeak program delivery, etc

Alan Kay alank at wdi.disney.com
Thu Dec 3 16:20:21 UTC 1998


Alex --

Here are partial answers to your questions. An overall covering answer to
all of the questions is that Squeak is an Open Source Software system and
all of its code is thus under your control. i.e. you can have any answer
you wish.

At 9:37 PM -0000 12/2/98, Alex Rice wrote:
>Greetings, my name is Alex Rice and I'm a Java programmer. I came along
>looking for something faster and less bloated and I think I've found it
>in Squeak. I'm truly impressed by the philosophy of Squeak.
>
>A couple of newbie questions I still have after reading the FAQ and
>skimming the mailing list archives:
>
>1)
>
>How are people delivering Squeak programs? For instance, if I wrote some
>interesting little program and wanted to give it to other people, what
>form would it take? Would they have to learn the Squeak desktop-browser
>paradigm as a prerequisite to using the Squeak program? Can someone give
>me an example of something written in Squeak that is intended for use by
>non-Squeaking persons? Can a Squeak program have a GUI without having
>the desktop and browser too?

Squeak has an "automatic update over the net" feature that is currently
used to keep all of the extant systems synchonized (for those who wish). It
can also take in new code at any time from servers, from web pages, etc.
Squeak has two organized GUIs at this point: the older
Models-Views-Controllers one from PARC, the newer "Morphic" one. Both of
these can be shaped pretty arbitrarily -- and the system is perfectly happy
for you to do a completely new one. A practical answer to your question is
that most things you are likely to want can be pretty easily done in
morphic.

>Can I use C/C++ code and native libraries from Squeak progams?

Several folks and groups on this list have created linkages to outside
code. This is not a great interest of "Squeak Central" at Disney since one
of our goals is extreme multiplatform transportability. But see Andreas
Raab's work with the modular VM and several efforts at Active-X, etc.
linking.

>3)
>
>Is the Microsoft licensing effecting the development of Squeak at all?
>Specifically, is the portability going to remain good, or will there be
>a Win32 MS-Smalltalk which the whole world starts using, which will be
>incompatible with the real Squeak?

I don't completely understand this question. There isn't any Microsoft
licensing of Squeak. Unlike Java, Squeak contains a running standard of its
VM and machinery to automatically make VMs. So there is no reason to depend
on Sun or MS for anything.
     However, there is always a "software religon" problem, i.e. PCs will
still run any software so using MS OSs and other software is not mandatory
-- but most people and companies don't want to learn enough about software
to deal with alternatives. This is why the SW consulting business worldwide
is more that twice that of primary SW sales -- and why SW religons
flourish. Branding works most in situations where people are
unsophisticated and confused.
     Dan Ingalls has pointed out that in an Open Source Software of modest
size -- and particularly one that tries to be self-disclosing (as we hope
to do a lot of in the next year) -- one or two savvy people are all it
takes to be independent.
     Also, I have often pleaded with the SW world to take Smalltalk (and
now Squeak) and DO change it for the better. We are still in infancy, and
hence shouldn't get mired in high-level standards. The Squeak license
requires that changes be posted for all to see -- and that should help too.
     The place to agree is in very low-level standards like TCPIP (and for
objects: on message passing between objects regardless of how they were
made or of what kind of support they require). This would allow many
different object systems to flourish (and presumably some progress to be
made in SW engineering). (CORBA is NOT the way to do this ...)
     I have long contended that a way to have both interoperability and
potential for great change is to always simulate a network of computers at
all levels of design. So, a simple safe way to operate in a world of
objects is to run each object system in a separate contained address space
in one's machine. When a new object is encountered on the net that needs a
VM not in the current setup, the VM is automatically brought in and run in
a separate address space. A "net browser" is now just a screen handler that
requires almost no code (think of how silly it is today to have ever larger
browsers that think they have to be able to interpret ever more elaborate
data structures -- one of the main points of objects as invented in the
sixties was to get away from the "data-structure interpretation problem".).

Cheers,

Alan





More information about the Squeak-dev mailing list