The Deadly Sins from P. J. Brown's Writing Interactive Compilers
and Interpreters, Wiley 1979. Regrettably, the book is long out
of print.
- The first deadly sin is to code before you think.
- The second deadly sin is to assume the user has all the
knowledge the compiler writer has.
- The third deadly sin is not to write proper documentation.
- The fourth deadly sin is to ignore language standards.
- The fifth deadly sin is to treat error diagnosis as an
afterthought.
- The sixth deadly sin is to equate the unlikely with the
impossible.
- The seventh deadly sin is to make the encoding of the
compiler dependent on its data formats.
- The eighth deadly sin is to use numbers for objects that
are not numbers.
- The ninth deadly sin is to pretend you are catering for
everyone at the same time.
- The tenth deadly sin is to have no strategy for processing
break-ins.
- The eleventh deadly sin is to rate the beauty of
mathematics above the usability of your compiler.
- The twelfth deadly sin is to let any error go undetected.
- The thirteenth deadly sin is to leave users to find the
errors in your compiler.