* PURE OOPLs vs HYBRID OOPLs
@ 1997-08-17 0:00 hakim
1997-08-18 0:00 ` Don Harrison
0 siblings, 1 reply; 2+ messages in thread
From: hakim @ 1997-08-17 0:00 UTC (permalink / raw)
If you have a new topic about HYBRID OOPLs Vs PURE OOPLs, please feel free
to publish it or write it personally to me!!
hakim@pl.jaring.my
fahr820@tmsk.itm.edu.my
fahrul hakim
ITM Shah Alam
this is my article:
PURE OOPLs VS HYBRID OOPLs : Object-oriented Thinking
-----------------------------------------------------
An common argument in favor of hybrid languages is that most of them are
in fact extensions of conventional programming languages. For example,
C++ is an object-oriented extension of C, and object Pascal is an
object-oriented extension of pascal. A programmer can learn an object
oriented langugae easily when he or she already knows the underlying
conventional language. C++ is a particularly impressive specimen of
hybrid language. C++ was developed several years after smalltalk-80, yet
very quickly it became the most widely used object-oriented language,
because, for the army of c programmer, it was easier to switch to C++
than
to smalltalk.
object pasca is also an interesting example of a hybrid language, but
for different reason. Object pascal is ragher minimal language, at least
as far as object-oriented concepts are concerned. Object pascal has only
a few additional language elements to support oop notably:
an object type (similar to record type)
methods (similar to procedures)
messages (similar to procedures calls)
two new predefined identifiers self and inherited
a new standard function member, adn
more tolerant compatibility rules to allow polymorphism
these additons and modifications can easily be described in a handful of
pages. An experienced pascal programmer can grasp them in less than one
hour.
this short list almost suggest that oop is just minor step beyond
conventional programming. One could easily believe that comprehenison of
these fwew addtions can convert a pascal programmer into an object
expert.
However, experience tells us that this is not true at all. Learning an
oo language and learning to write oop are two different things. Many C++
programmersuse thier c++ compileras if it were just another version of
the
c compiler they had used for years. others use objects only when it
seems
to be absolutely necessary - and then they often misuse them. (are you
agree with me ???????????)
learning how to write good object-oriented programes is a painful
experience for many programmer- even though they feel they are smart.
Astonishingly, this learning process is hardest for programmers who have
already acquired much programming experience, when confronted with
progamming problem, they often quickly come up with an idea of what the
algorithm for the solution of the problem could look like, but they
rarely
see what kinds of data have to be processed and in which way.
in contrast, experienced oop intuitively know what the crucial objects
are
in a given problem domain. they do not tink in algorithm, but rather in
classes, abstraction, and relatins among objects. To acquire the ability
to think object-oriented, it is easire to start learning with a pure
object-oriented language (are you agree with me ????). When everything is
an object and every operations is performed by means of a message, the
programmer is forced to abandon conventional thought patters. We
therefore recommend starting objet-oreinted progamming with a pure
obejct-oriented language even if a hybrid language is to be used
afterwards.
fahrul hakim
> Any comments ???
-------------------==== Posted via Deja News ====-----------------------
http://www.dejanews.com/ Search, Read, Post to Usenet
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: PURE OOPLs vs HYBRID OOPLs
1997-08-17 0:00 PURE OOPLs vs HYBRID OOPLs hakim
@ 1997-08-18 0:00 ` Don Harrison
0 siblings, 0 replies; 2+ messages in thread
From: Don Harrison @ 1997-08-18 0:00 UTC (permalink / raw)
Fahrul Hakim wrote (some interesting observations including)..
: in contrast, experienced oop intuitively know what the crucial objects
:are
: in a given problem domain. they do not tink in algorithm, but rather in
: classes, abstraction, and relatins among objects. To acquire the ability
: to think object-oriented, it is easire to start learning with a pure
: object-oriented language (are you agree with me ????).
I think you're right.
: When everything is
: an object and every operations is performed by means of a message, the
: programmer is forced to abandon conventional thought patters.
Yes, in some ways, a different way of thinking is required. In other ways,
OOP is just the formalisation of sound software engineering principles that
anyone can impose on themselves. In this sense, pure OOPs help by directly
supporting and imposing these principles. As we all know, many developers
familiar with non-OO languages reject pure OOPs due to the restrictions they
impose. They prefer to think that they can do a better job by having greater
freedom. Such thinking is misguided, IMO.
: We therefore recommend starting objet-oreinted progamming with a pure
: obejct-oriented language even if a hybrid language is to be used
: afterwards.
That's certainly my experience. I learnt OOP through Eiffel and find its
application (including Design by Contract) to non-OO Ada83 beneficial.
Don.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Don Harrison donh@syd.csa.com.au
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~1997-08-18 0:00 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-08-17 0:00 PURE OOPLs vs HYBRID OOPLs hakim
1997-08-18 0:00 ` Don Harrison
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox