# Java: Compiling

## Compilation Process

## Compiler error messages

Perhaps the main frustration with programming is that there are so many nit-picking details to get right before your program will run. It's not like learning a foreign (human) language. When you talk to a human and make mistakes they can usually figure out what you mean, or at least ask for clarification.

Compilers just give up, telling you as best they can what they thought the error might be. As often as not, their incredibly simple-minded error analysis is wrong. Some compilers are better than others in their error messages, but the standard Java compiler that we're using is just average, altho better than typical C++ compilers.

There were attempts to make compilers actually fix the errors they found. It was quite amusing because they would normally "fix" them in ways that made them do something completely unintended. Thankfully no one has made a "helpful" compiler like that in a long time.