Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

The first thing said in a training course is something like this: "The most important aspect of programming is abstraction". I've yet to see a training course do that, but I think it'd be a really good idea if instructors started doing this.

Too often, I see second-rate programmers almost afraid of abstraction. I hear often hear a job-security argument when I confront them on this. They are afraid that if a program can do their job, then their position will become irrelevent.

Example: say I'm an administrator for a very busy site--4 GB of logs generated per day. Logs are useless all by themselves--you need some way of anaylizing them, either by hand or by a human looking over each entry. The second-rate programmers mentioned above would seem to want to hire people who have the sole job of looking through 4 GB of logs getting intresting bits out. Needless to say, this would be very expensive to the company, but it keeps people employed.

But it's keeping those people employed in the wrong position. To be useful as log-anaylizers, they'd need to be fairly highly trained in order to know how to pick out interesting bits from the noise. OTOH, a program or series of programs could anaylize the data and generate a daily report. Those highly-trained people are now useful for something else. Their jobs are still secure--they're just moving up a layer of abstraction.

This, I think, is the most important lesson for a new programmer. Don't stop where you are. Keep moving up a new layer of abstraction. Tedious jobs you did before become irrelevent, freeing you for more interesting problems.

send money to your kernel via the boot loader.. This and more wisdom available from Markov Hardburn.

In reply to Re: What are the most basic, generic aspects of programming? by hardburn
in thread What are the most basic, generic aspects of programming? by theAcolyte

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, 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, 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.
  • Log In?

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

    How do I use this? | Other CB clients
    Other Users?
    Others exploiting the Monastery: (5)
    As of 2020-10-30 11:32 GMT
    Find Nodes?
      Voting Booth?
      My favourite web site is:

      Results (278 votes). Check out past polls.