3 ms·
That’s the point of an abstraction. What happens behind the curtain is (allegedly) not relevant to the mental model we form to do our work. You can compile OO
by braythwayt 11y ago
That’s the point of an abstraction. What happens behind the curtain is (allegedly) not relevant to the mental model we form to do our work.
You can compile OO code into assembler. You can implement it with functions and closures. You can run it on a VM with special support for virtual dispatch.
In order to be an effective abstraction, you have to think of it as being different. I’d go so far as to say, if you look at OO and say to yourself, “this is just inside-out objects” and dismiss it as not brining anything to the table, you’re missing the point entirely.
Of course, you ought to realize that an object is an inside-out closure, and a closure is an inside-out object. But as an enlightened thinker, you can hold that idea in your head and simultaneously hold in your head the idea that they are different things.
- brudgers 11y ago[edit: I should bracket this with something about how when I am talking about OOP languages here, I was not thinking about Smalltalk] What I was getting at is that Object Oriented Programming Languages are typically presented in "popular culture" as something discrete and concrete: that C++ is as discontinuous with Scheme as walruses are with penguins. And by this I'm not making a beeline for the Turning tarpit because we are talking about the same abstraction: dispatch. I suppose that's why I haven't ever found object oriented programming fit quite right into the wrinkles in my cerebrum. I'm still trying force fitting the world into a model based on the computational idiom of dispatch...it's selecting an implementation mechanism as the first step. Object oriented programming feels to me like it is primarily an abstraction about computers not the world...and the simpler abstraction of dispatch works better for me because it is simply simpler.
- agumonkey 11y agoIt takes time to finally accept such abstractions. For the first ten years, I had to look under the hood to get a grasp of things, until you saw enough to finally accept staying in the domain, not caring about syntax. Funny thinking that Lisp started as a blackboard experiment. [1] unless you hit P vs NP territory.