Thinking is, for most people, more difficult than following rules blindly. For those who find it easier to think, thinking while following rules is still more difficult. Few indeed are those who think deeply, and follow, break, and make rules with art, style, and discretion.
Many things can be taught, perhaps even thinking; but it's tough. I often wonder yet if I know how to think myself.
My personal meta-rules are:
- Study and learn rules.
- Try stuff and see what works.
- Ask, "What if?"
- Pretend my project and my role are much more important and public than they really are, then ask, "Does that expedient still look okay?"
- Try other stuff. Be wrong.
- Ask for help. Pay particular attention to help that annoys or upsets me.
- Sleep on it.
- Study more. Study more. Study more. Study more. Study more.
- Try more other stuff. Be right.
- Make a rule but don't expect anyone else to follow it. Be an example.
- Remember that some rules are stupid but so widely accepted that following them may be smart.
The anecdote goes that a stonemason building a medieval cathedral was questioned. "Why are you dressing that block so carefully? That side will be cemented into the wall and hidden." The mason said, "God sees that side, too."
I agree that the best part of PBP is that Conway explains why for each rule. I'm free to accept or reject each rule but I can't follow the book blindly, email him, and complain: "But you said Do This!"
-
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.
|