Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re: Right job for the tool.

by einhverfr (Friar)
on May 31, 2014 at 13:10 UTC ( #1088131=note: print w/replies, xml ) Need Help??

in reply to Right job for the tool.

First, this is an excellent question. It can generally be generalized to "where would one use OO programming?" Obviously not every task.

Let's start by looking at what OO programming gives you. This is, basically, a way of abstracting behavior around state. This is useful where you have a midsized project and want to make sure that you can more easily de-couple components (but don't want to go as far as, say functional programming). For small projects, the overhead in design makes it an unattractive choice. For very complex projects with complex concurrency issues you probably want to go with functional programming as your primary paradigm (you can mix OO and functional programming though).

So let's look at basically three models of managing state: Imperative, Object-oriented, and Functional

Imperative is basically summed up as "You do something with state. Object-oriented can be thought of as "state is responsible for its own behavior" and functional programming is "avoid state if you possibly can."

In general highly complex, highly concurrent systems will benefit from functional programming, and extremely simple systems will benefit from imperative programming. It's in the middle where object oriented delivers its best benefits.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1088131]
[chacham]: the same thing could be achieved with a trigger
[LanX]: choroba yes
chacham shudders at the thought of using a evil
LanX will need to find a Perl workaround ... :-|
LanX leaving his cave to enjoy sun! *\o/*

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2017-03-30 15:14 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (360 votes). Check out past polls.