IUBio

want software ideas

Howard Cash cash at geneva.csmil.umich.edu
Mon Feb 21 18:51:21 EST 1994


>On Sat, 19 Feb 1994, username wrote:
>> we are a 23 programmer company that does object oriented
>> programming using C++ and smalltalk...
  [snip snip]
>> ...we only do OOPS, no procedural like
>> cobol or fortran or pascal, please.
>> WinterFire Software Inc... 

In article <Pine.3.85.9402181857.A18147-0100000 at netcom2> wick at NETCOM.COM (Potter
 Wickware) writes:
>What does OOPS mean?
>


OOPS is a formal programming methodology.  It stands for "Object-Oriented 
Programming [System]."  It was first discussed in the 60's by engineers
working with the SIMULA language.  It was greatly refined by the team at Xeox
PARC in their work on SmallTalk in the 70's.  There are many object-oriented
programming tools available now including C++ and Object Pascal.

OOP is is a useful tool in software development, especially for projects
of a limited scope and complexity which may be "re-done" later for 
slightly different applications.  [Down, down, OOPS purists.  OOPS can
certainly be applied to large and complex systems.  In my experience, a 
hybrid approach works better in complex problem domains, using OOP
when that approach is most appropriate (usually the bulk of the program)
and using structured, procedural programming when that presents a better
solution for reasons of program efficiency, maintainability or simplified 
development.  In our work at Gene Codes, we do object-oriented design, but 
break out into "old-fashioned" procedural programming in many places where 
OOP would become a hinderance rather than a help.]

I am oversimplifying shamelessly, but OOP involves bundling data with
computational methods for handling that data, creating software "objects"
that know how to manipulate themselves.  For example, we may define an
object called CIRCLE_OBJ that contains an x,y coordinate and a radius.  
The object can also have an associated "method" called DRAW that knows
how to take the center and radius data and draw a circle on the 
screen.  Another object may be called TRIANGLE_OBJ and may contain 
three x,y points for the vertices. This object may also have a 
DRAW method.  You may have a dozen other shapes in your program that
all have a DRAW method.  When it is time to refresh the screen, you
can simply tell each object to draw itself without having to keep track
of what shape each object has or how many parameters are needed for each
object to define its own shape and location. You make a call like this:

    DRAW ( <reference to the object> );

and - voila! - the circle objects will draw circles, the square objects will 
draw squares, etc.

It is a bit dated and the bibliography is old, but you can look at CABIOS
4:1, March 88, page 3: "StrateGene:  Object-oriented Programming in 
Molecular Biology."

-Howard Cash
csmil and Gene Codes

Disclaimer for your information and entertainment:
1) No connection with CABIOS, Xerox or Winterfire Software
2) Opinions are my own and are not meant to reflect those of any other 
   person or organization, whether or not they are more reasonable or 
   informed than I.
3) I work for Gene Codes Corp (no advertisement intended and none should be 
   inferred so no ruffled feathers, please.)
4) I wrote the referenced article while an employee of IntelliGenetics, Inc. 
   (no advertisement intended and god forbid any should be inferred so no
   ruffled feathers, please.)
5) Have never written a line of software code using SIMULA, Object-pascal,
   or FORTRAN, thank goodness...
6) Ripley says, "Oh boy!"  (No endorsement or critical evaluation should be
   inferred so no ruffled feathers, please.)





More information about the Bio-soft mailing list

Send comments to us at biosci-help [At] net.bio.net