No, not the SevenDeadlySins from Christian theology. These DeadlySins are taken from the book
WritingInteractiveCompilersAndInterpreters?, Wiley 1979. by P. J. Brown (now out of print).
(This content grabbed from NormanRamseys web page--but since it originally came from a different source, I hope he doesn't mind it being replicated here on Wiki, where they can be discussed).
Some of these sins are rather specific to the task of writing compilers; but others (sins 1, 3, 5, 6, 8, 9, and 12) are generic to programming; and still others (2, 11, 13) can be made so by replacing the word "compiler" with "program".
- 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.
- 8a: Using booleans for objects that aren't booleans.
- 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.
Discussion