in reply to Re: Re: Re: From the Void and into the Light...
in thread From the Void and into the Light...

And I still don't agree with your original statement. While OO has a religous following among buzz-word enabled white collars. I don't believe that procedural design has become any less valid. From my experience they both have pros and con's like anything else in life.
  • Comment on Re: Re: Re: Re: From the Void and into the Light...

Replies are listed 'Best First'.
OO design vs. procedural design (Was: From the Void and into the Light...)
by IlyaM (Parson) on Nov 29, 2001 at 03:43 UTC
    IMHO procedural design just doesn't scale up for big projects. It doesn't mean that it is impossible to write with C big projects .. but have you noticed that big project written in non-OO languages tend to emulate OO and actually use OO design?
      What about those huge projects that use functional designs? Like, for example, someone wrote a large order-processing app in LISP. That wasn't OO ... it was functional.

      Now, you're also making a gross generalization, which is that OO and procedural and functional (etc.) cannot work together. The best large projects tend to have OO and functional and procedural working together.

      For example(!) - a GUI backend is OO, in that it allows for objects to be built, like various Message:: and Signal:: classes. YET(!), the actual event processor is designed functionally, in that it uses handlers to process what it receives.

      Is that a bad design?

      ------
      We are the carpenters and bricklayers of the Information Age.

      Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.

        I haven't mentioned functional programming simply because I've never wrote anything in functional languages (with exception for very small Emacs Lisp snipplets in my .emacs). In fact I have no opinion about them and I'm not ready to discuss them. My post was about 'OO vs. procedural'. Take this note in consideration before reading my reply.

        I haven't said that several styles cannot work together. Moreover nothing in procedural programming actually implies bad design decisions. However I believe that for big projects human brains just cannot handle functional design. We have to create abstractions and it is easier for us to handle relationship between several classes of objects than relationship between numerous states of data structures and network of procedures (aka "call tree").

        This is why I think humans can write better code (in big projects) when they follow mainly OO design (vs. procedural).

        However in the bounds of some abstraction procedural design is acceptable probably (like in your example where actual event processor is quite isolated thing).

        --
        Ilya Martynov (http://martynov.org/)

Re: Re: Re: Re: Re: From the Void and into the Light...
by hakkr (Chaplain) on Nov 29, 2001 at 14:39 UTC

    Obviously you can design good software and follow design principles without OO. I am merely pointing out the fact that many formal Software Engineering techniques can not be used without OO.

    If you were to study Software Engineering then OO software design would be a big chunk of what you get taught. As for buzz-words most CPAN modules are OO and we wear t-shirts at work and thus live in a collarless soceity.