Re: object-oriented programming explained in 51 lines



On Jan 30, 2:53 pm, Robert Martin <uncle...@xxxxxxxxxxxxxxxx> wrote:
On 2007-12-07 13:29:27 -0600, r...@xxxxxxxxxxxxxxxxxx (Stefan Ram) said:

      What is object-oriented programming?

Writing programs in terms of data structures that are manipulated by
functions that are called through jump tables inside those data
structures.



      What is an object-oriented programming language?

A language that automatically builds the data structures and jump
tables and disguises jump table lookup as regular function calls.  OO
languages often allow similar data structures to share similar parts of
their jump tables.

Another way to say more or less the same thing is that OO uses maps (a
kind of datastructure) as its primary building block, and these map
cells can store values (attributes), references to other maps, or
programming code (methods). With some syntactical sugar to simplify
this map usage.

Although I disagree with many views of Robert Martin, his definition
of OOP is the most accurate of known OO authors, in my opinion. ("Jump
table" is a bit anachronistic, and thus confusing IMO, so I use "map"
instead.)


      What is the main advantage of an object-oriented programming language?

Managing interdependencies between modules.

Not proven in practice outside of systems software.

Robert C. Martin (Uncle Bob)  | email: uncle...@xxxxxxxxxxxxxxxx

-T-
.



Relevant Pages

  • Re: object-oriented programming explained in 51 lines
    ... Writing programs in terms of data structures that are manipulated by functions that are called through jump tables inside those data structures. ... A language that automatically builds the data structures and jump tables and disguises jump table lookup as regular function calls. ... but is not possible in a purely procedural programming language? ...
    (comp.object)
  • Re: Help about the complexity of code
    ... Try to break out data structures into a few very simple ones. ... Like a monster and a player might not have the same ... Command processor: accepts a struct that has a command and some ... "appearance" of a map cell. ...
    (rec.games.roguelike.development)
  • Re: The linf project
    ... beginning statement group and ending statement group. ... about tied with the JUMP language. ... No language designed completely from scratch since those tests ... design: One way is to make it so simple that there are obviously ...
    (comp.lang.fortran)
  • Re: Larkin, Power BASIC cannot be THAT good:
    ... across a named label in code, I have to go figure out every single place ... in the code where the jump could have originated. ... The worst such in a traditional language, I think, was the use of the ... this control language doesn't have GOTO. ...
    (sci.electronics.design)
  • Re: why this assembly language is not good?
    ... I'll only comment on the language features, ... looking at some confusing syntax errors if you don't allow that. ... Presumably it's an unconditional jump. ... A good comparison in that respect is Perl ...
    (alt.lang.asm)