| 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. |