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.


In reply to Re: Re: Simplicity vs. Doing It Right by jordanh
in thread Simplicity vs. Doing It Right by dws

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.