On Mon, 13 Jul 2009 16:35:06 +0400, Bulat Ziganshin <bulat.zigans...@gmail.com> wrote:
>The first widespead OOP system was a Turbo Pascal 5.5, released 1989. Just for the record, Turbo Pascal was preceded by a *pure* object-oriented language, Smalltalk [1], as described below: >The Smalltalk language, which was developed at Xerox PARC (by Alan Kay >and others) in the 1970s, introduced the term object-oriented >programming to represent the pervasive use of objects and messages as >the basis for computation.... Smalltalk and with it OOP were introduced to >a wider audience by the August 1981 issue of Byte magazine. The difference between a pure object-oriented programming language and an impure one is that in the former, there is no difference between values which are objects and values which are primitive types, as explained below [2]: >Smalltalk is a "pure" object-oriented programming language, meaning >that, unlike Java and C++, there is no difference between values which >are objects and values which are primitive types. In Smalltalk, primitive >values such as integers, booleans and characters are also objects, in the >sense that they are instances of corresponding classes, and operations >on them are invoked by sending messages. A programmer can change >the classes that implement primitive values, so that new behavior can >be defined for their instances--for example, to implement new control >structures--or even so that their existing behavior will be changed. >This fact is summarised in the commonly heard phrase "In Smalltalk >everything is an object" (which would more accurately be expressed as >"all values are objects", as variables aren't). Most currently widespread programming languages that are termed "object-oriented" aren't really object-oriented, but are really procedural with object-oriented extensions. For example, this is true of such languages as C++ and Java. Incidentally, there is an interesting paper [3] by Matthias Felleisen presenting the thesis, as described in the synopsis [4], that "good object-oriented programming heavily ``borrows'' from functional programming and that the future of object-oriented programming is to study functional programming and language design even more." -- Benjamin L. Russell [1] "Object-oriented programming - Wikipedia, the free encyclopedia." _Wikipedia, the free encyclopedia._ 13 July 2009. 14 July 2009. <http://en.wikipedia.org/wiki/Object-oriented_programming>. [2] "Smalltalk - Wikipedia, the free encyclopedia." _Wikipedia, the free encyclopedia._ 3 July 2009. 14 July 2009. <http://en.wikipedia.org/wiki/Smalltalk>. [3] Felleisen, Matthias. "Functional Objects, Functional Classes." Invited talk at 18th European Conference on Object-Oriented Programming, Oslo, Norway, 14-18 June 2004. 16 June 2004. <http://www.ccs.neu.edu/home/matthias/Presentations/ecoop2004.pdf>. [4] Felleisen, Matthias. "Functional Objects, Functional Classes." College of Computer and Information Science, Northeastern University. 4 Aug. 2004. 14 July 2009. <http://www.ccs.neu.edu/home/matthias/Presentations/ecoop2004.html>. -- Benjamin L. Russell / DekuDekuplex at Yahoo dot com http://dekudekuplex.wordpress.com/ Translator/Interpreter / Mobile: +011 81 80-3603-6725 "Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^ _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell