Hacker News new | ask | show | jobs
by mongol 1342 days ago
There is some connection to object-oriented programming and desktop GUI paradigms, that I remember were written about in computer magazines at the time, but is never mentioned now. Like, if you want to delete this document, you drag it to the trashcan! Object oriented! Am I right or do I remember it wrong?
2 comments

Not clear to me how that's object-oriented. You're not sending a "put yourself in the trashcan" message to the document, or sending a "pull the document to yourself" message to the trashcan. If anything, you're invoking the environment's "drag" function with two arguments, "document" and "trashcan"; that's object-oriented only insofar as the environment contains every function and can be sent messages to invoke them.
I remember that OS/2 user interface was said to be object-oriented and Wikipedia says the same

https://en.wikipedia.org/wiki/Workplace_Shell

To continue the over-analysis in good faith: I think the trashcan example points out the inheritance of draggability. Any file object in a directory gets it by default, without having to think too much about it.

Then the trashcan inherits from a directory, making it able to have things dropped on it. But it overwrites the action taken from movement to deletion. That maps "nicely" onto the human mind.

> If anything, you're invoking the environment's "drag" function with two arguments, "document" and "trashcan";

A perfectly valid alternative description. But having a do-it-all environment with every function doesn't sound OOP to me.

That would be skeuomorphism, not object-orientation. One is about UIs, the other is about programming paradigms.
The OS/2 Workplace Shell is described as object-oriented

https://en.wikipedia.org/wiki/Workplace_Shell