The difference between the "one way" and "multiple ways" is often a matter of the power behind the language. From what I have seen, languages that boast "one way" tend to be easier to learn and are often a better environment for programmers of low to medium skill. However, advanced programmers often get frustrated when encountering an implementation obstacle generated by the "one way" paradigm.

While I fully adhere to the There Is More Than One Way To Do It philosophy of Perl, I do have some experience which marks a more concrete benefit of the There Is Exactly One Way To Do It. While a more structured language may be easier to learn, more importantly (I think) it offers benefits in automatic/compile-time optimization.

While in college, I took a high performance computing class where we learned all manner of ways to exploit architectural differences in various platforms as well as ways to exploit code structures to gain an increasing number of performance enhancements from particular pieces of code. We did most of our work in C and would use all the compile time options for optimizing compililation that the compiler offered. Generally we got pretty good results. However, when the problem was rewritten in Fortran using the same techniques and compile time options, it was much much faster. The reason being that Fortran's data typing and control structures require that they are strictly adhered to. Because of there being exactly one way to do it, the compiler can make optomizing assumptions that it just can't do in C (having to cover all of its potential bases).

I love Perl and I think its benefits outwiegh any problems. In fact, I am happy with its performance, finding it to be a lot faster than I expected. It just seems that TIMTOWTDI may hamper its ultimate performance.

On the other hand, writing a C program that can do the same complex manipulations that the average Perl program does can be very time consuming. Seen in that light, Perl gains its optimization benefits on the front end of a project.

Then again, I could be wrong -- cascadefx


In reply to Re: Re: TIEOWTTI by cascade_fx
in thread TIEOWTTI by mnp

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.