First, this is somewhere between a meditation and SoPW but I had to put it somewhere.
I got to thinking about programming aphorisms today. I thought it would be useful (and, just as important, fun) to compile a list of them. There's no prize except the egoboo. Here's my definition, so that we're all on the same page:
In order to be accepted for this challenge, your aphorism must:
- Be short. 25 words or fewer, please.
- Be amusing, pithy, or in some other way easily memorable.
- Embody an important lesson in a way that is instantly grasped. If you need to explain it, it doesn't qualify.
It does NOT need to be original. If you have the attribution and want to offer it, that's great, but it isn't expected.
The Aphorisms
<voice="radio-announcer-reading-fine-print">I will periodically update this list to compile what people submit. I reserve the right to make grammar, spelling, and minor language-choice fixes. See below for the original source; if you don't find it, it's mine. I reserve the right to not add something for any reason including because I missed it or because I haven't been back to update the list lately. If you don't want your submission added to the list (and potentially tweaked), say so and I won't add it.</voice>
- Write your code as though the maintenance programmer is a short-tempered Navy SEAL who has your home address and hasn't been taking his meds.
- If you need to solve the same problem twice, the solution is probably on the CPAN already.
- Languages you don't know are hard. This does not necessarily mean they suck.
- "There is no shame in being self-taught, only in not trying to learn in the first place."
- Just because you can, doesn't mean you should.
- If you didn't write a test, you're taking it on faith that you fixed the bug.
- Bugs don't "just go away". Fix it.
- Write the least code that will solve the most peoples' problems.
- Programming is like demon summoning: computers are as smart as you, evil, and will obey your commands precisely while twisting them if possible. Code appropriately.
- Release Early and Often
- "The last bug is fixed when the last user retires the program."
- A good programmer looks both ways before crossing a one-way street
- A language that doesn't affect the way you think is not worth knowing.
- Before fixing a user's problem, make sure the problem is in the code and not in the user's chair. After fixing a user's problem, make sure the fix works for him. {This is more than 25 words, but I will stretch a point as I'm combining 2 suggestions.}
- "It doesn't work" is useless. Define your terms.
- RTFM
- Brevity == Clarity.
- Programs must provide correct results in spite of the user's best efforts.
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.