Comments | Notes to help developers understand code, but which do not affect its execution in any way. |
Exceptions | Errors that occur at runtime when an operation cannot be completed properly. |
Debuggers and Logging | Figuring out what's causing your code to behave wrongly. |
Memory Management | How memory is allocated and de-allocated. |