Xref: utzoo comp.lang.c:27707 comp.lang.c++:7142 comp.lang.misc:4766 Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!uunet!seismo!sundc!newstop!sun!brahmand!grover From: grover@brahmand.Sun.COM (Vinod Grover) Newsgroups: comp.lang.c,comp.lang.c++,comp.lang.misc Subject: Re: what is c++, c, ansi c etc... Message-ID: <134190@sun.Eng.Sun.COM> Date: 9 Apr 90 20:57:06 GMT References: <6000:Apr720:31:1490@stealth.acf.nyu.edu> <28742@cup.portal.com> Sender: news@sun.Eng.Sun.COM Reply-To: grover@sun.UUCP (Vinod Grover) Distribution: usa Organization: Sun Microsystems, Mountain View Lines: 26 In article <28742@cup.portal.com> Chewbacca@cup.portal.com (Paul Frederick Snively) writes: >brnstnd@stealth.acf.nyu.edu writes: > >>> Also what is object oriented programming? >> >>The latest name that young urban computer science types have applied to the >>old idea of adding another level of indirection to function calls. > >At best this definition is grossly naive and misinformed; at worst it is just >plain wrong. > >There doesn't seem to be a "definitive" description of the fundamentals of >object-oriented programming, so the best that I can do is to provide you with >a list of the things that come to my mind when I happen to think of object- >oriented programming: > >* Encapsulation (the association of data with the procedures that operate on > them), whether rigidly enforced or not. Who says encapsulation cannot be provided by functions? >* Inheritance (the notion that these combinations of data and procedures can > be described as increasing specializations of their ancestors, e.g. an AVL > tree might be a specialization of a binary tree, which in turn might be a > specialization of a tree, etc. Many object-oriented systems use terms like > class, superclass, and subclass to refer to this relationship). Block structure (lexical scoping in newspeak) can provide some of these too.