Error Avoidance
Risky programming constructs
•
Pointers
•
Dynamic memory allocation
•
Floating-point numbers
•
Parallelism
•
Recursion
•
Interrupts
All are valuable in certain circumstances, but
should be used with discretion
22