Re: Interesting take on Paradigms (OO vs Procedural)





"Rick Smith" <ricksmith@xxxxxxx> wrote in message
news:13uq9i0e2sfdd1a@xxxxxxxxxxxxxxxxxxxxx

< http://www.cs.berkeley.edu/~jrs/4/lec/14 >
-----
Why did the originators of object orientation rename "structures" to
"objects"
and "procedures" to "methods"? Hubris and arrogance, in my opinion.

This simply says that the writer has not really understood the essential
differences. I read the full article and he/she does a good job of listing
the differences, but identifying differences and actually understanding the
implications of those differences are two different things.

The comment above implies that the commentator sees no difference between a
"structure" and an "object", yet anyone who has worked with these things in
the real world would understand the essential difference. This is the
difference between Acadaemia and Reality.

Certainly the difference between a "procedure" and a "method" is less
tangible, nevertheless, there is a difference and to deny this simply
reveals lack of true understanding. You can "know" something intellectually,
but that doesn't mean you grasp it and understand it fully. Sometimes, it
isn't until you actually have to apply these things in real life situations
(rather than creating contrived math based exercises to demonstrate them)
that you come to a full conceptual understanding of them.

It is very often the subtleties and nuances of something (the "finer points"
if you like...) that are essential to the real understanding of it.

From reading this article it is obvious to me that that the writer comes
from a procedural background and has never really been exposed to OO
implementation in the real world. (That is not to diminish their knowledge
or capabability to teach the subject, just that some of the subtleties have
never been grasped.)


Some
people believe object orientation is a completely new "paradigm" for
programming.

It was certainly "new" when it was introduced, and it had enough differences
fromm established procedural practice to alienate it from, at least, the
COBOL community...

The best known paradigms for computer languages are these.

- Procedural languages: Fortran, C, Pascal
- Functional languages: Lisp, Scheme, Haskell
- Logic languages: Prolog
- Object-oriented languages: Java, Smalltalk, C++

The first three of these really use very different ways of thinking about
how
to program a computer.

Yes, they all claim to be fundamentally different; the last one is less
dramatically different, but it IS different. Much of the importance of those
differences is in the subtleties.

I could make the same argument about Prolog and Lisp. You can certainly
argue that Lisp is a functional language, but it is also a Logic language in
the same sense as Prolog. It is only when you come to use these things for
real implementations that you start to "understand" the subtle difference.



Object-oriented languages are mostly a gloss on
procedural languages.


I disagree strongly. However, I would agree that you CAN perceive them that
way, and you are very likely to if your background is procedural.

The one part of object-orientation that really stands out, and might give
it
claim to being a separate "paradigm," is _polymorphism_.

And then he/she goes on to "mention" inheritance... and other things that
are available in OO :-)

What did the Romans ever do for us...? :-)

Pete.
--
"I used to write COBOL...now I can do anything."


.



Relevant Pages

  • Re: Why is OO Popular?
    ... This research allows us to understand the basics of understanding ... Another way of putting it is we can program different types of languages ... try to formalize them for programming purposes while the brain is much ... they don't like like dynamic programming languages. ...
    (comp.object)
  • Re: OO programming - illumination? - whoopsie
    ... I strongly agree that the biggest problem is understanding the problem ... flowchart. ... lingual, and I have developed craft in other languages such as VB, C++ ... There are still situations where straight assembly language programming ...
    (comp.lang.java.programmer)
  • Re: State of Forth 200x
    ... The only way your statement makes any sense is if you limit the discussion to "pure" object orientated languages ... This nutty notion you have that object orientation is an all-or-nothing proposition simply doesn't match reality. ... With every message, you keep on ascribing all sorts of weird, magical, and wrong ideas about object oriented programming. ... In the real world there are no hierarchies. ...
    (comp.lang.forth)
  • Re: OOA?
    ... >> that understanding, is a useful and necessary activity for software ... the modeling languages came second. ... People have been building models of procedural ...
    (comp.object)
  • Re: Interesting take on Paradigms (OO vs Procedural)
    ... Why did the originators of object orientation rename "structures" to ... people believe object orientation is a completely new "paradigm" for ... The best known paradigms for computer languages are these. ... Procedural languages: Fortran, C, Pascal ...
    (comp.lang.cobol)