Some questions

dg@dcs.st-and.ac.uk
Sat, 27 Jul 1996 18:01:48 +0100

Apologies for the rather unhelpful subject, but really, the topic of this
message is so varied that it's difficult to think of a meaningful one. :)

I'm about to start work on a final year university project. I'd really rather
like to do it under GEOS, because I *like* GEOS and I think that it would be
ideally suited for the project (a simple Smalltalk system, if anyone's
interested). However, since the SDK isn't here yet, and it would help if I
could do some program design, so I would be extremely grateful if someone
could give me some pointers on some of the questions below.

1. What's the object-oriented programming paradigm in GOC like? For example,
does it have automatic constructors and destructors? I imagine that every
message call has to go through the memory manager, so it can page in the
relevant piece of code, since there isn't an MMU. I would think that this
would make sending messages fairly expensive. Would I be better off *not*
using a separate class for fairly simple, frequently-accessed data values?

2. What's the best way of allocating several thousand small (i.e. less than
fifty bytes) objects? If I use MemAlloc() for each one, or create an instance
of a class, then I would end up using lots of handles, and the system could
pretty well run out.

3. Does GOC have dynamic binding, that is, can I send a message to an object
without knowing what the class is?

4. What sort of utility general storage classes are there available?
Extendable arrays? Keyed arrays? BSP trees?

5. When saving a VM file, I assume that you use something analogous to Unix's
mmap() to tell the kernel what data to save. However, if you have a fairly
complex data structure, then your objects will contain pointers or handles to
other objects. How does the kernel know the format of your data, so it can
store the complete data structure *and then reproduce it again*?

6. Does anyone know where I can find either a GOC programming tutorial, some
example code, or preferably both on the net?

If anyone can answer some of these, I would be much obliged (it would also
increase the chances of a GEOS Smalltalk system seeing the light of day).

TIA...

- --
- ------------------- http://www-hons-cs.cs.st-and.ac.uk/~dg --------------------
If you're up against someone more intelligent than you are, do something
totally insane and let him think himself to death. --- Pyanfar Chanur
- ---------------- Sun-Earther David Daton Given of Lochcarron ------------------