Interfaces

Alejandro F. Reimondo alereimondo at sugarweb.com
Tue Feb 3 21:28:53 UTC 1998


Experiment with all you want to. But it must be an object.

Interfaces can be interesting if they can be defined/refined dynamically.
Consider the diferences between development in a language and in an environment. If you use only a language (not an evolutive environment) you MUST have a mechanism to detect potential errors during compilation.
Java and C++ must have interfaces because they have types, are static (no real meta-programming during runtime), and programmers are pasive most of the time (no interaction with real objects).
In evolutive systems (like Smalltalk) interfaces can be a waste of time. :-)

Do you know the time you invert in interfaces (defining, mantaining) ?
Are they usefull for you?... or for your compiler. :-|
Are they for people or only for the compiler (or the component technology)?

I think, that interfaces can be interesting if they are "normal" objects and have all the properties of anObject (dynamic, meta-programable, changeable during runtime, etc.).
All the things that are not present in Java nor COM. :-)

Components are not the same as objects.
The diference is not the size, the information hiddin, etc...
The diference is that components are most of the time static pluggable parts.
When created they MUST:
1.- conforms its interface (to be pluggable).
2.- do it's work (components are task oriented entities)
in this order. And they are created to do a piece of work.

But objects...
Objects are more natural things. They are imperfect, they evolve, mutates.
Objects are things that has been born to change.
When created they MUST:
1.- provide a medium to learn.
2.- be. (and all that it means)
3.- live. (do all the work it want to in the current medium)
4.- evolve.

Interfaces are a power mechanism to components.
Component tecnology is technology of the '80, modula, ada, C++, Java (Component technology = Object Oriented Technology). They need interfaces to plug components.

The technology for the year 2000+, is Object Technology and is funded primary in change and evolution.

Object Oriented Technology ~~ Object Technology
Think in the word "oriented", what it means?

I think that ObjectOrientedTechnology = Component Technology with an "O"
If you use OOT then you will need interfaces.
If you use Smalltalk to write "OOT programs", you will need interfaces.
But if you use Smalltalk to build "Object systems" provably you will not be interested in specify how an object talk.

Ale.

----------
Desde: 	Matthijs van Kempen
Enviado el: 	Martes 3 de Febrero de 1998 21:24
Para: 	squeak at cs.uiuc.edu
Asunto: 	Interfaces

Hi Folks,

How does the notion of interfaces sound?

Interfaces are used in Java and in COM objects. They expose a set of 
properties (getters/setters) and methods. One component or object can 
have mutliple interfaces. Interfaces can inheri from each other.
Say something?!

Matthijs van Kempen





More information about the Squeak-dev mailing list