>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.)