Re: Interesting take on Paradigms (OO vs Procedural)
- From: "Pete Dashwood" <dashwood@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 11 Apr 2008 16:39:41 +1200
"Joe Zitzelberger" <zberger@xxxxxxxxxxx> wrote in message
news:zberger-A7F0BE.00153011042008@xxxxxxxxxxxxxxxxxxxxxxxxxxx
In article <13uq9i0e2sfdd1a@xxxxxxxxxxxxxxxxxx>,
"Rick Smith" <ricksmith@xxxxxxx> wrote:
< 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.
Some
people believe object orientation is a completely new "paradigm" for
programming. 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. Object-oriented languages are mostly a gloss on
procedural languages.
The one part of object-orientation that really stands out, and might give
it
claim to being a separate "paradigm," is _polymorphism_.
-----
I think you have missed the lightbulb moment.
As "structure" is not an "object". Nor is a "procedure" a "method".
Amen to that :-)
An "object", in pure OO thought, is a bundle of zero or more structures
AND zero or more procedures together.
Yep... Amen again :-)
The important (to me...), and usually overlooked by people obsessed only
with coding, thing here is the CONCEPTUAL use you get from an Object. This
is BECAUSE it is as you described above. Identifying Objects conceptually
and building them in code go hand in hand in my book. I have never
considered Objects to be ONLY the "instantiation in memory of a defined
computer Class", even though that is all they are to a program. PEOPLE can
use Objects (conceptually) and can model with them, modify them, (without
committing any computer code to memory), do walkthroughs with them, and
conceptually juggle with them to get a better solution. That is just as
important in an Object Oriented approach to problem solution, as the
technical details which apply to computer code.
You can certainly use OO compilers to write procedural type code as you
describe -- or you can use procedural only compilers to write OO style
code as long as you enforce your the OO rules yourself.
Absolutely. The fact is that when you encapsulate behaviours and properties
into an Object, the synergistic whole, is far greater than the sum of its
parts. The code representation is only ONE aspect of it.
Pete.
--
"I used to write COBOL...now I can do anything."
.
- Follow-Ups:
- Re: Interesting take on Paradigms (OO vs Procedural)
- From: Rick Smith
- Re: Interesting take on Paradigms (OO vs Procedural)
- From: Richard Brady
- Re: Interesting take on Paradigms (OO vs Procedural)
- References:
- Re: Interesting take on Paradigms (OO vs Procedural)
- From: Joe Zitzelberger
- Re: Interesting take on Paradigms (OO vs Procedural)
- Prev by Date: Re: Interesting take on Paradigms (OO vs Procedural)
- Next by Date: Thoughts on teaching OO concepts to COBOL programmers
- Previous by thread: Re: Interesting take on Paradigms (OO vs Procedural)
- Next by thread: Re: Interesting take on Paradigms (OO vs Procedural)
- Index(es):
Relevant Pages
|