Object Oriented Programming
From APIDesign
(Difference between revisions)
(New page: This is my personal take on OOP. In case you are searching for objective view, then rather see wikipedia's explanation. TBD: === External S...) |
|||
Line 1: | Line 1: | ||
- | This is my personal take on [[OOP]]. In case you are searching for objective view, then rather see [[wikipedia::Object_oriented_programming|wikipedia's explanation]]. | + | This is my personal take on [[OOP]]. In case you are searching for objective view, then rather see official [[wikipedia::Object_oriented_programming|wikipedia's explanation]]. |
- | + | === History === | |
- | + | [[OOP]] is no longer what it used to be. Somehow the original great visions diluted and instead we have ''class''/''object''/''inheritance'' as present in [[Java]] and other [[OOP]] languages of these days. The daily experience we have with these languages is so strong, so defining that we sometimes tend to forget that the roots of [[OOP]] used to be driven by visions and not technical concepts. | |
- | + | I was reminded about that recently when I read [http://www.artima.com/articles/dci_vision.html Motivation for DCI] at artima website. Just few quotes: | |
+ | |||
+ | :''Object oriented programming grew out as vision of the computer'' | ||
+ | :''as an extension of the human mind.'' | ||
+ | |||
+ | :''MVC's goal was to provide the illusion of a direct connection'' | ||
+ | :''from the end user brain to the computer "brain"'' | ||
+ | |||
+ | :''a large method that represented an entire algorithm was believed to'' | ||
+ | :''not be a "pure" object-oriented design'' | ||
+ | |||
+ | :''This use of inheritance crept out of the world of programming'' | ||
+ | :''language into the vernacular of design'' |
Revision as of 14:12, 3 April 2009
This is my personal take on OOP. In case you are searching for objective view, then rather see official wikipedia's explanation.
History
OOP is no longer what it used to be. Somehow the original great visions diluted and instead we have class/object/inheritance as present in Java and other OOP languages of these days. The daily experience we have with these languages is so strong, so defining that we sometimes tend to forget that the roots of OOP used to be driven by visions and not technical concepts.
I was reminded about that recently when I read Motivation for DCI at artima website. Just few quotes:
- Object oriented programming grew out as vision of the computer
- as an extension of the human mind.
- MVC's goal was to provide the illusion of a direct connection
- from the end user brain to the computer "brain"
- a large method that represented an entire algorithm was believed to
- not be a "pure" object-oriented design
- This use of inheritance crept out of the world of programming
- language into the vernacular of design