---
created_at: '2013-01-07T18:14:01.000Z'
title: The Path to Mastery (2000)
url: http://www.perlmonks.org/?node_id=26380
author: btilly
points: 56
story_text: ''
comment_text: 
num_comments: 5
story_id: 
story_title: 
story_url: 
parent_id: 
created_at_i: 1357582441
_tags:
- story
- author_btilly
- story_5022281
objectID: '5022281'

---
This is not a story about Perl. Or Perl programming. Or even computers.

Rather it is a story about the road to mastering any logical subject.

As my bio says, I once studied math. One subject in math is analysis.
This is the true story of a student that my first analysis professor
once had.

This student was a physics student. He did not really want to take
analysis. But he decided that if he was taking it, then he might as well
truly learn it.

When he sat down to do his first homework he realized that he did not
understand what it meant to prove something. So he went to the professor
and asked what a proof was. The professor answered, "A proof is an
airtight demonstration that a thing must be so." The student asked what
could be assumed. The professor answered, "You may start with the axioms
and the theorems we have proven from the axioms." The student asked if
you had to accept the theorems, the professor said, "You need not accept
anything that you have not been fully convinced of."

The student's first homework set was 20 pages long. The other students
needed 5. The student was concerned and asked the professor, "My
homework is so much longer than theirs is. Am I doing something wrong?"
The professor said, "You may take as long to do it as you need to. Did
you keep in mind what I said about axioms and theorems?" The student
answered, "I did, but I didn't feel that I understood the theorems so I
worked from the axioms only." The professor answered, "That is good but
learn to build on what you already know." The student promised to try.

The student's first homework was perfect. As the course progressed the
student continued to try. Homework by homework he maintained excellent
work, and step by step learned to organize his thoughts so that he could
build on previous results in class and in his own work. And step by step
the length of his homework fell.

By the end of the course the other's still needed 5 pages for their
homework. But this student did not. He no longer needed 20. He no longer
needed 10. Instead his perfect assignments fit comfortably on a page
with room to spare.

The professor congratulated him on his progress and asked him about the
cause. The student said, "Well I know the subject so well that I know
exactly how to do each problem, and I do that and no more."

Here then is the moral for Perl programmers. When you see the code of
master Perl programmers you may be amazed at how few strokes of the
keyboard they require to solve a problem completely. Many in error think
that they should therefore constantly try to cram as much into as little
room as possible.

This is a misguided path.

Instead strive to understand fully and completely the tool at hand.
Explore exactly how it works and what it can do. In addition constantly
learn how to build on what you and others have done before. Aim for
clarity and comprehension, and mastery shall surely follow.

This is a true path.
