POV-Ray : Newsgroups : povray.off-topic : I'm in the mood for monads : Re: Living in a box Server Time
29 Jul 2024 16:33:51 EDT (-0400)
  Re: Living in a box  
From: Warp
Date: 23 Apr 2012 10:37:55
Message: <4f956943@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> There is no language that "is OOP". OOP is a software design approach; 
> An OO language (or OO language feature) is one that helps you implement 
> such a design, but nothing more.

  Do not confuse the terms "object-oriented programming" (OOP),
"object-oriented design" (OOD) and "object oriented programming language".

  OOD is the process of dividing the problem into logical parts,
each part being a class, and establishing their relationships and
dependendcies (inheritance, composition, function calls...) This is
a language-agnostic process.

  OOP is the process of implementing that design in an actual language,
of actually writing code.

  An object-oriented language is a programming language that supports
the necessary features for OOP natively.

> Bundling record data and related functions (aka methods) in a single 
> thing called "class" does help you write software that makes use of data 
> encapsulation (an OOP concept); it doesn't help you with enforcing the 
> rules of encapsulation, but it simplifies the syntax by (1) 
> automatically passing the ubiquitous "this" pointer, and (2) adding new 
> namespaces to avoid naming collisions. As such, it does qualify as an OO 
> language feature.

  Just because a language offers *some* features that are intrinsic
to object-oriented programming doesn't make the language automatically
an OO language.

-- 
                                                          - Warp


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.