I've been writing software for a relatively short period of time. During that period, I've been striving to increase my productivity and code quality by reading as much as I can, and coding as much as I can. I'm now faced with a bit of a paradox.

A fundamental principal of coding (which is applied to almost any other discipline) is "why re-invent the wheel?". In other words, why re-write a piece of code that's already been writen and tested, and which is available for free? By re-using this code, you avoid wasting time on designing, implementing, testing and debugging the component, thus increasing productivity and quality.

Another fundamental principal of engineering and science is "know your fundamentals". A prof of mine once told the class that 80% of engineering problems can be solved with first-year principles.

Here's the problem. If the most effective method of improving your coding skills is to code, and the most effective way to increase productivity and software quality is to re-use code (i.e. not write it yourself), then can you improve skill and maintain productivity? Is it possible to learn coding fundamentals without coding? Is general knowledge of an algorithm or data structure (such as a linked list) enough to write quality code, or does a developer need to know the implementation details of each algorithm and data structure?

Phemur


In reply to Code re-use: productivity gains vs. skill deprecation by Phemur

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.