On Aug 30, 2007, at 1:50 AM, Marcel Weiher wrote:


On Aug 26, 2007, at 3:10 AM, Fabio Filasieno wrote:


Smalltalk is very different - you always can add behaviour you

need to the other object and the application logic is distributed

across the system.


That's not the point, but you are right, Unix and Smalltalk are different.

In regard to the black boxes thing.


I think a lot of the differences are superficial, but one seems very deep:  Unix's unifying principle is extensional, Smalltalk intensional.


That is, Unix gets its power from the fact that everything is just represented as bytes, and you can pipe those around.  Who cares what they mean?  To the refined tastes of us Smalltalkers that seems barbaric, but it is very powerful in a very pragmatic sort of way, and gets you extremely loose coupling and late binding (of things other than the fact that it's all just bytes).  Of course, you lose moving to higher levels of abstraction, and no, XML doesn't really do it.


Smalltalk, on the other hand, does really well with modelling semantics, as objects sending messages, but has a hard time extending its unifying principle outside the image.  Which is somewhat ironic considering the idea was connecting things and late, late binding.


Marcel



This is very very true.

I think a lot of the differences are superficial, but one seems very deep:  Unix's unifying principle is extensional, Smalltalk intensional.

... and there is a powerful economical reason for that... on why UNIX selected an extensional unifying principle ....

Developer x produces process A.
Developer y produces process B.

In order to get that magical FREE method - A | B - the return value of A must match the input value B. How to maximize this benefit considering a set of methods that are developed individually but shared? Because if output and input don't match then there is no trick.
The solution is make all processes have save input and output type: use simple text ... which by the way happens to be human readable.
It's like an invisible hand has moved the UNIX guys to select a unique format to maximize common benefits under the shape of free functionality.


Fabio Filasieno