The problem with OOL is not the OO (2009)
8 points by refaktor
8 points by refaktor
This article raises some interesting questions, but it doesn’t really answer them. What does the implicit environment look like in REBOL? How does that improve the experience over traditional OO languages?
Perhaps this references so called REBOL’s unusual scoping, that was sometimes called definitional scoping (but it apparently isn’t that exactly).
Maybe this is an interesting explanation .. “REBOL has no scoping at all” https://stackoverflow.com/a/21964858
But I’m also not sure if that scoping method concretely is what he means as an answer to OO. Maybe more general “words-in-context” based approach that this entails at the end.
“ A pen does not write and draw, it takes a human to make a pen write and draw. The actions of write and draw do not belong to the pen”
This back then and still today is a naive and misinformed position. A pen modeled in an OO program might know its draw location and how to draw a new line given an offset. One doesn’t model a “human” in code unless you want to simulate that human as a pen manager or controller to act on a pen as a data bucket. Popular today but thats not OO is it?
Consider moving a ball. In OO a ball knows how it can move. Knowledge of how the ball moves is not in the foot that kicks it, the stick that hits it or the hand that punches it. The move method is likely given the force direction and hit location to calculate say its new position.
In OO the rule is in contrast to the author’s statement:- “an action performed on a real (or imagined) object becomes a method of the object in object-oriented programming”.
Any OO comparison to something in physical reality is going to break down really fast. Mainly because the environment the “pen” exists in imposes so many constraints that it quickly becomes impossible to express cleanly as methods on the pen object.