Newbie questions...
Ned Konz
ned at bike-nomad.com
Wed Aug 21 22:53:38 UTC 2002
On Wednesday 21 August 2002 03:05 pm, konrad.hinsen at laposte.net wrote:
> I have just started playing around with Squeak, and I am duly
> impressed... with just about everything except the state of
> documentation.
Yes, this has been commented on. I think there are positive steps in
the direction of improving this.
Have you seen the Squeak Swiki (http://minnow.cc.gatech.edu/squeak)
yet? It has lots of information, though the organization and updating
could stand improvement.
> For example, before I start any serious project, I would like to be
> sure that I don't loose my work due to stupid mistakes, careless
> import of code, a system update, or whatver else might happen. I
> have seen plenty of references to file ins/outs, changesets,
> projects, etc., but I don't really know what I should use in which
> circumstances or for what purpose.
Change sets maintain related code changes under a name.
You can file these out and back in, if you want to save or distribute
a particular body of work. Most Squeak enhancements and fixes are
distributed this way today.
As you change things in your system, the changes file records them.
Even if you trash your image, you can browse and file in individual
changes from a changes file.
Projects let you save a World in binary format with all its objects.
You can also choose to save the current Change Set with the project.
Modules will become the preferred packaging format sometime in the
next couple of years. These know about dependencies and may be able
to be unloaded from the image.
> A related problem is the evolution of the whole system. There seem
> to be neither "undocumented" nor "officially documented" parts in
> Squeak. So if I want to make sure that my code will still be useful
> next year in Squeak 42.7, what can I safely rely on?
Parts of the system tend to change faster than others.
The base system (interpreter, collections, processes, etc.) doesn't
change as fast, though there have been some changes in the last few
years and will continue to be some. However, changes that affect the
Squeak Virtual Machine are usually done with backward-compatibility
in mind. Recent changes to Squeak's innards include exceptions,
changes to the event handling, (someday) new block contexts/closures,
and maybe a few others.
The Modules system added in 3.3 will be a big change, but older change
sets should still file in OK.
MVC hasn't changed much at all, though there have been new tools
added.
Morphic itself has changed some in the last few years. But it's not
too hard to update older Morphic code to work in current images. I
expect that its rate of change will be slowing some in the future.
Other pieces -- applications, tools, games, etc.-- will come and go.
The Scripting/eToy system is still undergoing change, as are other
pieces of Squeak. But these changes shouldn't be too disruptive.
I wouldn't be surprised to find some problems filing in older projects
in the future. But there are provisions in the project loading to
convert to newer versions; if done carefully, this can let older
images or projects work with new code.
There will be other changes, certainly; like any other evolving
software system, you may have to re-visit your code to prevent
bit-rot from setting in as versions change. But it hasn't been too
bad recently (there is still Squeak 2.6 code that works fine in the
newer images).
--
Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE
More information about the Squeak-dev
mailing list
|