comp.lang.ada
 help / color / mirror / Atom feed
* 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