Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Re: Simplicity vs. Doing It Right

by jordanh (Chaplain)
on Oct 13, 2002 at 13:49 UTC ( [id://204897]=note: print w/replies, xml ) Need Help??


in reply to Re: Simplicity vs. Doing It Right
in thread Simplicity vs. Doing It Right

    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://204897]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (3)
As of 2024-04-26 07:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found