Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

Hmmm...   I never quite expected to be referred-to as anybody’ “forebearer,” at the tender age of never-you-mind ... and I find it mightily amusing to see “1991” referred to as though it were “long ago.”   :-D

“Siddown, young punk, sober up and let me tell you a story!”   ;-) :-D

The computer is always improving in speed and capacity, following Moore’s Law for as long as the wizards at Intel continue to work their magic with sand, such that we constantly find that we can implement more and more outrageous algorithms and actually get away with it.   This is a very good thing, because what today is “outrageous” tomorrow will be considered commonplace.   This trend will never end, and herein lies my cautionary tale:   hardware capabilities are rising fast, but “the bar” is always rising even faster.

Therefore, we will always be obliged to pursue the simultaneous goals of hardware efficiency and software development efficiency.   We must develop and maintain software practices which are highly disciplined.   We must build software of bulletproof “reliability, availability, and serviceability.”   None of these goals have changed in the last fifty years, nor will any possible advances in hardware unseat them from their hallowed place.

I quite-frankly appreciate the fact that I started in this business at a time when computers were small, because it taught me to be efficient.   I am very proud that we had a student-registration system that could provide less-than one-second response time to 32 terminals at the same time (this being the maximum number of terminals that the computer could support), and that it could give a very well-designed user experience to every one of them, and that could run with absolute reliability throughout day upon day of the registration rush, thus giving the school something that made headlines.   That is “damn good software engineering,” if I may say so myself, and if you were to translate those parameters to the present day it would still be ... “damn good software engineering.”

Quite contrary to the expressed popular opinion (these kids today...), the experience of having to make a dollar out of sixty-five cents has not kept me unaware of what has happened since, nor made me unwilling to “push the envelope” just as hard as I can manage to push it today.   Nevertheless, even as computers have become vastly more powerful than I ever expected they could be by this point in time, I still recognize the value of the maxims in The Elements Of Programming Style, including this one:

Don’t “diddle” code to make it faster:   find a better algorithm.

A maxim like that is universal, and it must always be remembered because the computer (and therefore, we...) can never, ever rest on its laurels.   The bar will always rise faster than we can keep up.   We will always be racing just behind the cue-ball.   Twenty, thirty, fifty years from now ... the practice of engineering will forever be the same.

One last thought:   twenty years from now, guess what.   The bar will have risen so much that you will look back upon today and shake your head with disbelief at how you managed to “make a dollar out of seventy-five cents.”   Moore’s Law shows no signs of stopping, and neither do customer expectations.   Hang on tight, kid ... this roller-coaster never stops.


In reply to Re: Moores Law, Perl and the future by sundialsvc4
in thread Moores Law, Perl and the future by simonodell

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2024-03-29 05:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found