Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Simplicity vs. Doing It Right

by chromatic (Archbishop)
on Oct 13, 2002 at 07:05 UTC ( [id://204868]=note: print w/replies, xml ) Need Help??


in reply to Simplicity vs. Doing It Right

The "right way" adds weight that isn't always needed.

Optimization (for speed) and simplicity are rarely allies.

Update after response: Added parenthetical clarification.

Replies are listed 'Best First'.
Re: Re: Simplicity vs. Doing It Right
by jordanh (Chaplain) on Oct 13, 2002 at 13:49 UTC

      Optimization and simplicity are rarely allies.

    I disagree with this.

    What dws is referring to is not what I would call simplicity. It's what I would call extreme pragmatism. The application to which he refers would be much simpler had it been done the "right" way. Simpler, in that it would be simpler to understand, maintain and extend. As he describes it, it would take a pretty senior person to sort it out and extend it as it stood.

    Extreme pragmatism has it's place as well. Had the original programmer of this test program been given an edict from management that he would not be allowed to use a standard web server and that he had to implement this test suite in a week or there would be no test program, well, under those circumstances, I think the right choice was made.

    However, generally I subscribe to this:

    There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies. --C.A.R. Hoare

    The best optimizations can be performed on something that is designed to be straightforward and simple as possible. Only when the underlying design is clear can we begin to really understand where bottlenecks might arise or where there are repeated operations that can be profitably micro-optimized.

    I also happen to agree with this:

    Things should be made as simple as possible -- but no simpler. - A. Einstein

    Some things are inherently complex. It's simple to design a database as a group of text files and perform queries with greps, but it doesn't meet most design criteria for speed and flexibility. There is a balance.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://204868]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (7)
As of 2024-04-19 10:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found