Re: Whose Fish?



In my mind there are two issues that I have problems with. The first
one is where someone is trying to convert a 'logic' problem to an OO
one. I have an issue with this because to me, logic is not
condusive to facilitating object oriented conceptualising which as far
as I am concerned requires a great deal of fuzzyness.

To me, logic will always equate to procedural thinking (and should not
be equated to being a bad thing - it is, in its place a good thing).
But I will say that to me an object may contain logic parts and in
that regard one could also say that an object may contain procedural
parts, but that does not mean to me that objects are always logical
entities.

Andy,
In fact, all software applications have logic. They all have user
input, some sort of logic processing on the input, and finally some
sort of output, to the screen, printer, network, db, or somewhere. An
OO software without any logic would simple be a abstracted model of
the problem domain that didn't do anything!

I have noticed over the years that some people require contextual
detail when doing OO and some people don't. I wonder if that culture
defines whether someone does OO following rigerous methods and
techniques (OO Principles) or if they just go with the flow so to
speak. i.e. does the 'context' of ones culture (whether they are
naturally high or low context people) affect the way people approach
OO.

I think that people who are not good at abstracting problems will
definitely be more productive writing strictly procedural code. Of
course they will have to master OO techniques only enough to
understand how to utilize the OO framework tools that are already in
place to help them. Those reusable framework tools are of course
created by abstract thinkers who intended to create a generic tool to
solve many peoples' problems, instead of the immediate issue at hand.

The second issue more directly relates the problem being solved to the
solution provided. That is, to me this type of problem (logic
problems) are usually solved by some form of mathematical equation.
I think that in software development I have always referred to these
types of equations as 'algorithms' which are usually I think
implemented in a single high level function call (often to a bunch of
smaller detailed function calls). Given this, I cant say how one
could claim to have developed an object oriented solution when
implementing a single algorithm when the whole meta structure of
executing an algorigm is nothing more (to me) than the procedural
implementation of a logical set of steps (calculations).

It is all in how you percieve the problem domain and how you choose to
model it.

I think
one could say they have used object oriented techniques to solve the
problem (such as encapsulation, polymorphism and abstraction), but I
dont think one should suggest that the result is in its nature object
oriented, as I do not see an algorithm as being 'oriented towards
objects' (its more oriented towards being a service) since it can be
executed as a function/method call which to me at best perhaps is
merely part of an object.

Modelling the problem domain into software objects is IMO an OO
solution.

Jordan

.



Relevant Pages

  • Re: Whose Fish?
    ... techniques or if they just go with the flow so to ... OO is a *lower* level of abstraction than p/r because ... Those reusable framework tools are of course ... as I do not see an algorithm as being 'oriented towards ...
    (comp.object)
  • Re: Cohens paper on byte order
    ... >> or techniques, if formulated properly, is at a so high ... an numerical algorithm involving trigonomic functions ... Note that anyway other readers ... You could also employ appropriate analogies, ...
    (sci.crypt)
  • Re: How to approach
    ... occur in real programming and design. ... practise for real algorithm design (especially the for first of the above ... techniques), but it's no substitute for having a basic grounding in the ... if your aim is to get more fun from TopCoder then you have to ...
    (comp.lang.java.programmer)
  • Software Engineering Manager opportunity at KLA-Tencor
    ... I am currently looking for a Software Engineering Manager for our ... Manage a world-class team of algorithm engineers to develop and deliver ... Managing current platform deliverables involves managing across ... Knowledge of SW techniques for programming in an embedded ...
    (sci.image.processing)
  • Re: Cohens paper on byte order
    ... >> it needs a trigonomitric function, ... > Thats a pity since you might have learnt something. ... I don't assume that your algorithm ... or techniques, if formulated properly, is at a so high ...
    (sci.crypt)